(按位逻辑)与0x7F的AND事情完成了什么?

时间:2013-03-13 19:15:16

标签: bit-manipulation bitwise-and

我正在尝试理解我已经拆解的程序。到目前为止我理解它。

但是,我不明白为什么程序正在和一个0x7F的整数。 它也喜欢AND一个0xFF的整数。该程序有点像随机数生成器。

这取得了什么成果?

我认为与0xFF进行AND运算需要较低的字节(寄存器)并丢弃其余的字节?

特别是在MIPS ASM中:

## r2 = 0xfd    r3 = 0x10 ##

andi r2,r2,0x00ff       # What? Why?
andi r3,r3,0x007f       # What? Why?

1 个答案:

答案 0 :(得分:4)

“与”0x7f的“与”用于删除最高有效位,因为0x7f为0111 1111并确保该数字为正。 “和”与0xff相反。