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