移位操作符中,只有数值右端的低5位才有用。这话什么意思啊??移位操作符自然是你想怎么移就怎么移咯,什么叫低5位啊??
还有,若对一个long类型的数值进行处理,最后得到的结果也是long。这话我也模糊了,操纵long的类型,结果自然也应该是long咯,难道操作byte、char、short、最后的结果变成了int型??
还有,若对一个long类型的数值进行处理,最后得到的结果也是long。这话我也模糊了,操纵long的类型,结果自然也应该是long咯,难道操作byte、char、short、最后的结果变成了int型??
楼主【llm0528】截止到2008-07-10 14:11:27的历史汇总数据(不包括此帖):
发帖的总数量:47 发帖的总分数:940 每贴平均分数:20
回帖的总数量:40 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:47 结贴的总分数:940
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
1 << bit_number;即:128(10000000);
value|=128 即:(1 0010 0011 1000)|(1000 0000)=(1 0010 1011 1000) ^指定位为1;
其他"|"位或 "&" 位与 "~" 位反,
表达式"a<<-5"编译器不同含义就不同.至于 long问题 ~~~ 我也没懂~~~
System.out.println(2<<2);
System.out.println(2<<34);
得到的结果都是8,呵呵,道理就是这个。