为什么最后得到51,有谁给小弟讲讲么,关于位运算还是一知半解

解决方案 »

  1.   

    知道与运算吧!
    看代码和注释吧!
    public class Demo12
    {
    public static void main(String[] args)
    {
    System.out.println((51+52*256)&255);
    System.out.println(Integer.toBinaryString(51+52*256));
    System.out.println(Integer.toBinaryString(255));
    /**
     *  11010000110011
     *& 00000011111111
     *  00000000110011//这个东东对应的十进制就是51
     */
    System.out.println(Integer.parseInt("00000000110011", 2));
    }
    }
      

  2.   

    你是不了解二进制的与运算吗,其实一楼回答的已经很完整了,你把十进制数转换为二进制,1&0=0,1&1=10&0=0;这样逐位运行就好了
      

  3.   

    你是不了解二进制的与运算吗,其实一楼回答的已经很完整了,你把十进制数转换为二进制,1&0=0,1&1=1,0&0=0;这样逐位运算就好了