读书人

JAVA编程思想解决方案

发布时间: 2013-10-21 17:00:48 作者: rapoo

JAVA编程思想
我在看一本书《JVA编程思想》 美 BruceEckel著 陈吴鹏 译
第p113页。
有个没有看懂啊,不知道有高手可否指教一二,就是关于JAVA中的:" >>> "这个右移位操作符。
有一句说“如果对byte或short值进行这样的位移运算得到的结果可能是不正确的结果。”
在程序中这样一段代码:


short s=-1;
pring(Integer.toBinaryString(s));
s >>> 10;
pring(Integer.toBinaryString(s));
byte b=-1;
pring(Integer.toBinaryString(b));
b >>> 10;
pring(Integer.toBinaryString(b));
b = -1;
pring(Integer.toBinaryString(b));
pring(Integer.toBinaryString(b >>> 10));

结果是是:
11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111
11111111 11111111 111111

这是为什么呢?没看明白啊
[解决办法]
你看的是第几版,不是第四版吧?
[解决办法]
如果知道二进制的话,用数字自己算算不就知道了。
[解决办法]
位运算作暂时先跳过,对于初学者最好不要纠结太长的时间,以免影响其他章节的进度。如果能用移位操作把我的头像编写出来,基本上就属于移位的高级运用了。

读书人网 >J2SE开发

热点推荐