java逻辑移位和算术移位,关于对移位运算的理解
生活随笔
收集整理的這篇文章主要介紹了
java逻辑移位和算术移位,关于对移位运算的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
標簽:
之前在《計算機組成原理》這門課中學習了很多,其中包括二進制數的移位運算。當時并不理解他們用來作甚,迷迷糊糊的狀態,學了都不知道為什么要學。什么東西總是到了需要用到的時候,才明白,哦,原來乳齒啊!以下是我在java編程中對移位運算的理解和總結:
在Java語言中,二進制數使用補碼表示,最高位為符號位,正數的符號位為0,負數為1。補碼的表示需要滿足如下要求。
(1)正數的最高位為0,其余各位代表數值本身(二進制數)。
(2)對于負數,通過對該數絕對值的補碼按位取反,再對整個數加1。
一、算術移位:改變數值大小,進行除2或者乘2。
移位規則:
<< 左移,低位補0;
>>?右移補高位數值(高位是0則補0,是1則補1)
二、邏輯移位運算:不用于算術運算,常用于與‘&’結合使用截取數值
移位規則:不論左移還是右移,均補零
eg: 取0x56ff45的高8位
int color = 0x56ff45;
int r = (color>>>16) & 0xff;
System.out.println(r);
標簽:
總結
以上是生活随笔為你收集整理的java逻辑移位和算术移位,关于对移位运算的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php记录网站访问,PHP简单实现记录网
- 下一篇: java图片缩放工具类,一个JAVA图形