为了账号安全,请及时绑定邮箱和手机立即绑定

为什么位与0xff后能去掉前面的0

为什么位与0xff后能去掉前面的0

正在回答

3 回答

0xff  二进制为   0000 0000   0000 0000    0000 0000    1111 1111

假如有一个数二进制是0000 0000   0100 0100    0000 1010    1110 1011

这个数&上0xff为

      0000 0000   0000 0000    0000 0000    1111 1111

&   0000 0000   0100 0100    0000 1010    1110 1011

  --------------------------------------------------------------

      0000 0000   0000 0000    0000 0000    1110 1011

2 回复 有任何疑惑可以回复我~

首先,0xff是一个十六进制的数,转换为二进制就是1111 1111

这个数在8bit也就是在byte中直接就是1111 1111(前面就不存在0,因为它只有8bit)

在32bit也就是在int中就是00000000 00000000 00000000 11111111(0可以省略,但实际是存在的)

他前面的0是根据最终是在什么类型下决定的。

某个数和0xff进行&运算,根据&运算的特点只有和1&运算才为1.和0&运算都是0.所以和0xff进行&运算之后,它如果最终是byte类的话,因为只有8bit所以只剩下了1111 1111.假如最终类型是Int类型他其实是00000000 00000000 00000000 11111111

3 回复 有任何疑惑可以回复我~

0xff 一个f是1111 两个就是一个字节八位11111111

然后与int类型32位与 ,只剩下低8位,高24位为0

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么位与0xff后能去掉前面的0

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信