你如何或两个数字没有左移第一?

时间:2014-09-17 23:43:35

标签: c hex bits

我们取两个数字1514。在十六进制中,它们是0x0f0x0e。由于填充零,您必须左移4位才能获得e。这可能是因为最小的可表示大小是一个字节,这意味着数字仅包含在字节的一半中。是否可以只存储这些数字的最后4位?

2 个答案:

答案 0 :(得分:1)

OR只是一个按位指令,询问是否有at least one 1然后你会得到1其他明智的0真值表看起来像这样:< / p>

 a   b    (a|b)  => a OR b   the | denotes or
---------------
 0   0      0
 1   0      1
 0   1      1
 1   1      1

没有必要的转变

如果您有15|14,那么您将获得15

    0000   1111   // 15
OR  0000   1110   // 14
  --------------
    0000   1111   = 15

答案 1 :(得分:0)

在ORing之前没有必要向左移动。所以对于两个数字a和b,你写:a | b。