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

来源:1-1 文件的编码

浮殇時光

2017-02-22 16:39

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

写回答 关注

3回答

  • 幸福是可积的
    2017-02-26 16:53:16

    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

  • 历飞雨
    2017-02-24 19:22:14

    首先,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

  • _Aooooo
    2017-02-22 19:03:35

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

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

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题