日期:2014-05-20  浏览次数:20627 次

关于(51+52*256)&255的值
为什么最后得到51,有谁给小弟讲讲么,关于位运算还是一知半解
------最佳解决方案--------------------
知道与运算吧!
看代码和注释吧!
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));
}
}

------其他解决方案--------------------
引用:
知道与运算吧!
看代码和注释吧!
Java code??123456789101112131415public class Demo12{    public static void main(String[] args)    {        System.out.println((51+52*256)&255);        System.out.pr……
学习了
------其他解决方案--------------------
你是不了解二进制的与运算吗,其实一楼回答的已经很完整了,你把十进制数转换为二进制,1&0=0,1&1=10&0=0;这样逐位运行就好了
------其他解决方案--------------------
你是不了解二进制的与运算吗,其实一楼回答的已经很完整了,你把十进制数转换为二进制,1&0=0,1&1=1,0&0=0;这样逐位运算就好了 
------其他解决方案--------------------
我真是神经短路了....

还是非常感谢