0

如果我想快速查看执行移位(左/右)的代码的结果是什么,我通常会写下二进制表示并进行移位。
但是对于例如 4 的移位,它实际上更快地编写十六进制表示并将字符/数字向左/向右移动 1 位?
有没有其他技巧呢?

4

1 回答 1

0

本质上,移动 4 位是删除 1 个十六进制,因为每个十六进制数字都是二进制的 4 位。所以移动 8 位就像删除 2 个十六进制,依此类推。

如果您愿意,您也可以使用八进制进行相同类型的移位,尽管我们将使用 3 而不是 4 位。

或者,如果您希望看到十进制而不是八进制或十六进制的转换,您可以将移位视为表示除法和乘法的一种方式。

通过左移,您可以使用 x1 << x2 作为乘以 2^x2 的一种形式。

通过右移,您可以使用 x1 >> x2 作为除以 2^x2 的一种形式。请注意,这适用于正数,而不是负数。

于 2013-09-22T18:03:24.260 回答