您好,登錄后才能下訂單哦!
這篇文章主要介紹“二進制和位運算符的聯系”,在日常操作中,相信很多人在二進制和位運算符的聯系問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”二進制和位運算符的聯系”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
除2取余,高位補零, 計算機內部表示數的字節單位是定長的,如8位,16位,或32位。所以位數不夠時,高位補零
System.out.println(Integer.toBinaryString(10));
System.out.println(Integer.toBinaryString(Integer.MAX_VALUE));
System.out.println(Integer.toBinaryString(Integer.MIN_VALUE));
打印結果:1010
1111111111111111111111111111111
10000000000000000000000000000000
解析:Integer 4個字節占32位,打印時高位0省略Integer10的二進制實際為28個0+1010
所以在二進制中Integer最大值為正負表示符+31個1,0表示正數1表示負
System.out.println(Integer.toBinaryString(21));
System.out.println(Integer.toBinaryString(-21));
打印結果:10101
11111111111111111111111111101011
-21的二進制轉換過程:
21的二進制減1為10100,再進行取反得到01011
21的二進制為10101 = 1*2^0+0*2^1+1*2^2+0*2^3+1*2^4=1+4+16=21
11111111111111111111111111101011首位為1代表為負數 先取反加1轉化為10101再轉化為10進制前面添加負號
<< : 左移運算符,num << 1,相當于num乘以2
>> : 右移運算符,num >> 1,可除范圍相當于num除以2
>>> : 無符號右移,忽略符號位,空位都以0補齊
12的二進制為1100,-12的二進制為0100
12>>4=0 位移后二進制 1
-12>>3=-2 位移后二進制0
-12>>4=-1 位移后二進制為1
右移運算符正數時最小值為0,負數時最小值為-1
-12 >>> 4=268435455
12 >>> 4 = 0
到此,關于“二進制和位運算符的聯系”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。