JAVA中整型的存储和左右移位运算

byte,1个字节8位, -128 ~ 127之间,首位表示正负,0为正,1为负,0111,1111表示127,-127为127取反1000,0000,再加1,即1000,0001为-127,-127减1得-128,所以1000,0000表示-128,对它减1取反得到它自身。

short,2个字节,-1 * 2的15次方 ~ 2的15次方减1之间,参考byte的表示法。

int,4个字节,-1 * 2的31次方 ~ 2的31次方减1之间。

long,8个字节,-1 * 2的63次方 ~ 2的63次方减1之间。

<<左位移,所有的位左移,右面补0,其效果相当于乘以2,但是要注意溢出的情况,byte和short左移的结果为int。

>>右位移,所有的位右移,左面补0,其效果相当于除以2并舍弃余数。

 

posted @ 2016-03-21 16:22  Tyler_Liu  阅读(837)  评论(0编辑  收藏  举报