在对它们产生的数字执行这些位操作之间是否存在关联

时间:2017-04-08 07:24:06

标签: binary bit-manipulation bitwise-operators bit-shift

嘿伙计们,我是第二年的大学生,而且我对使用位和按位操作非常陌生。当我得到3(0011)的二进制数,然后将其反转(1100)然后向右移动我得到(0110)并且将6作为十进制数。如果我这样做2,我得到2.我想知道是否有一些通用的关系来找到n会对它进行这两个操作,因为我认为它可能是我的一个功课问题的关键。

也有人有一个很好的资源来学习一般学校孩子的简单按位操作和属性

1 个答案:

答案 0 :(得分:0)

  

当我得到3(0011)的二进制数,并将其反转(1100)然后   向右移动我得到(0110),6作为十进制数。

  1. 您假设一个4位数,如果有16位或32位数系统怎么办?您的结果会相应更改。

  2. 右移是两个操作,无符号右移和右移右移。好像你执行了无符号右移,因为签名右移将根据符号替换位。如果它是负数(最高有效位为1),则所有被替换的位将为1,否则为0.

  3.   

    我想知道是否有一些通用关系来找到n   将会对它进行这两项操作。

    对此声明的回答是,它完全不同。

      

    也有人有一个很好的资源来学习简单的按位   一般学校的操作和财产

    幸运的是,我最近刚刚发表了关于Number System and Bit operations的博文。