Math 为什么0xff&;是否截断一半?
我可以理解二进制运算Math 为什么0xff&;是否截断一半?,math,binary,hex,Math,Binary,Hex,我可以理解二进制运算11&x,例如,如果x=1011,该运算将从x中取出10,左x为11。然而,当谈到十六进制时,我非常困惑。0xff&x的类似效果背后的数学和推理是什么?只有将它们全部转换为二进制,我才能理解这一点。0xFF&0xABCD=0xCD。。。为什么? Because: A = 1010 B = 1011 C = 1100 D = 1101 F = 1111 So the 0xFF = 0x00FF = 0000 0000 1111 1111 The 0xABCD
11&x
,例如,如果x=1011,该运算将从x中取出10,左x为11。然而,当谈到十六进制时,我非常困惑。0xff&x
的类似效果背后的数学和推理是什么?只有将它们全部转换为二进制,我才能理解这一点。0xFF&0xABCD=0xCD
。。。为什么?
Because:
A = 1010
B = 1011
C = 1100
D = 1101
F = 1111
So the 0xFF = 0x00FF = 0000 0000 1111 1111
The 0xABCD = 1010 1011 1100 1101
-------------------
0xFF & 0xABCD = 0000 0000 1100 1101
与大多数事情一样,一旦您使用hex一段时间,您将学习一些记住值的技巧
0xFF&0xABCD=0xCD
。。。为什么?
Because:
A = 1010
B = 1011
C = 1100
D = 1101
F = 1111
So the 0xFF = 0x00FF = 0000 0000 1111 1111
The 0xABCD = 1010 1011 1100 1101
-------------------
0xFF & 0xABCD = 0000 0000 1100 1101
与大多数事情一样,一旦您使用hex一段时间,您将学习一些记住值的技巧 我可以很容易地从二进制的角度理解这一点,但是当你只有十六进制时,它怎么还能工作呢?我是说,为什么0xEE不截断ABCD?编辑:对不起,我刚刚明白你的意思!因为1111111将使下面的CD保持不变。。。!非常感谢:)是的。0xEE仍然会去掉AB,但它可能会“0”掉一些数据。我可以很容易地从二进制的角度理解这一点,但是当你只有十六进制时,它怎么还能工作呢?我是说,为什么0xEE不截断ABCD?编辑:对不起,我刚刚明白你的意思!因为1111111将使下面的CD保持不变。。。!非常感谢:)是的。0xEE仍然会剥离AB,但可能会“0”删除一些数据。