java与或非 求大神解救

[复制链接]
查看11 | 回复2 | 2013-2-10 13:39:02 | 显示全部楼层 |阅读模式
先全部转换成二进制。最高位是符号位 0是 0x0000,~取反运算,变成0xffff,在内存中,存的数是除符号位,取反+1.所以是 -1 第2题。负数的比较麻烦,你可以反过来计算,1表示二进制 0001,~取反后,为1110,存在内存中是除最高位(符号位)不变,其他取反加1.即是1010,为-2 第三题2 -> 0010取反后 1101,保存在内存中,取反加一,符号位不变,1011 是-3 | 是与运算。逢1为1(0|1 = 1,0|0=0,1|1=1), -1 是 1001取反加+1 -> 1111 与 3( 0011)进行与运算为1111,这个表示 -1 2 -> 0010 ,
3-> 0...
回复

使用道具 举报

千问 | 2013-2-10 13:39:02 | 显示全部楼层
~0==-1(~按位非):0000000000000000==0111111111111111111==-1-1 | 3==-1(|是按位或):111111111111111111==-10000000000000011==3111111111111111111==-15 | 3==7:0000...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行