欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中左移和右移問題圖文詳解

 更新時(shí)間:2021年11月21日 10:49:08   作者:CLAY超  
左移和右移并不常用,在一些特殊情況下才會(huì)使用,比如加解密時(shí),會(huì)大量用到,這篇文章主要給大家介紹了關(guān)于Java中左移和右移問題的相關(guān)資料,需要的朋友可以參考下

?1 原碼、反碼、補(bǔ)碼

原碼:將十進(jìn)制轉(zhuǎn)化為二進(jìn)制即原碼;
反碼:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼(除卻最高位的符號(hào)位不變)與原碼相反;
補(bǔ)碼:正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼(除卻最高位的符號(hào)位不變)與原碼的取反加一。
舉例:5 和 -5
5:
原碼:0 0000000 00000000 00000000 00000101
反碼:0 0000000 00000000 00000000 00000101
補(bǔ)碼:0 0000000 00000000 00000000 00000101
-5:
原碼:1 00000000 00000000 00000000 00000101
反碼:1 1111111 11111111 11111111 11111010
補(bǔ)碼:1 1111111 11111111 11111111 11111011

2 位移操作

我們需要知道將一個(gè)數(shù)字,在計(jì)算機(jī)中進(jìn)行移動(dòng)多少位,例如8<<1代表將8轉(zhuǎn)化為二進(jìn)制在計(jì)算機(jī)中左移1位,低位補(bǔ)零;
<<:左移:低位補(bǔ)0
>>:有符號(hào)右移:正數(shù)高位補(bǔ)0,負(fù)數(shù)高位補(bǔ)1
>>>:無符號(hào)右移,高位補(bǔ)零
為什么沒有無符號(hào)左移呢?因?yàn)樽笠频那闆r下只存在補(bǔ)零的情況。
舉例 :5 和 -5
5<<1
原碼:0 0000000 00000000 00000000 00000101
左移1位:0 0000000 00000000 00000000 00001010
即:10
-5<<1
原碼:1 00000000 00000000 00000000 00000101
補(bǔ)碼:1 1111111 11111111 11111111 11111011
左移1位:1 1111111 11111111 11111111 11110110
取其補(bǔ)碼:1 0000000 00000000 00000000 00001010
即:-10
5>>1
原碼:0 0000000 00000000 00000000 00000101
右移1位:0 0000000 00000000 00000000 00000010
即:2
-5>>1
原碼:1 00000000 00000000 00000000 00000101
補(bǔ)碼:1 1111111 11111111 11111111 11111011
右移1位:1 1111111 11111111 11111111 11111101
取其補(bǔ)碼:1 0000000 00000000 00000000 00000011
即:-3
5>>>1:與5>>1一樣,都是高位補(bǔ)0
原碼:0 0000000 00000000 00000000 00000101
右移1位:0 0000000 00000000 00000000 00000010
即:2
-5>>>1
原碼:1 00000000 00000000 00000000 00000101
補(bǔ)碼:1 1111111 11111111 11111111 11111011
右移1位:0 1111111 11111111 11111111 11111101
即:2147483645
代碼運(yùn)行截圖

總結(jié):

位移操作很簡(jiǎn)單,使用補(bǔ)碼移動(dòng),補(bǔ)齊空缺位就行,除了>>:補(bǔ)與最高位一致的;其他移動(dòng)哪缺哪補(bǔ)零。
在java中無論截圖中的a定義成 byte,short,int哪一種類型,它默認(rèn)都是使用int類型(4字節(jié)32位),你使用long(8字節(jié)64位)

3 補(bǔ)充操作符

~(按位非):
逐位取反
|(按位或):
一真為真
1|0=1,
0|0=0,
1|1=1,
0|1=1
&(按位與):
兩真為真
1|0=0,
0|0=0,
1&1=1;
0&1=0
^(按位異或):
相異為真
1^1=0
1^0=1
0^1=1
0^0=0.

總結(jié)

到此這篇關(guān)于Java中左移和右移問題的文章就介紹到這了,更多相關(guān)Java左移和右移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中的javaBean、vo、entity、domain和pojo

    Java中的javaBean、vo、entity、domain和pojo

    這篇文章主要介紹了Java中的javaBean、vo、entity、domain和pojo用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • java之路徑分隔符介紹

    java之路徑分隔符介紹

    考慮到程序的可移植性,創(chuàng)建文件時(shí)建議大家選用"/",因?yàn)榻?jīng)過測(cè)試用java創(chuàng)建文件時(shí)在windows平臺(tái)下用“/”也是可以的,java貌似在后臺(tái)作過處理了。
    2013-03-03
  • Java多線程中的wait/notify通信模式實(shí)例詳解

    Java多線程中的wait/notify通信模式實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Java多線程中wait/notify通信模式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • SpringMVC中攔截器的實(shí)現(xiàn)

    SpringMVC中攔截器的實(shí)現(xiàn)

    SpringMVC 中的 Interceptor 攔截器是非常重要和相當(dāng)有用的,它的主要作用是攔截指定的用戶請(qǐng)求,并進(jìn)行相應(yīng)的預(yù)處理與后處理,這篇文章主要介紹了SpringMVC的攔截器相關(guān)知識(shí),需要的朋友可以參考下
    2022-01-01
  • 淺談Java基準(zhǔn)性能測(cè)試之JMH

    淺談Java基準(zhǔn)性能測(cè)試之JMH

    JMH是Java Microbenchmark Harness的簡(jiǎn)稱,一個(gè)針對(duì)Java做基準(zhǔn)測(cè)試的工具。想準(zhǔn)確的對(duì)一段代碼做基準(zhǔn)性能測(cè)試并不容易,因?yàn)镴VM層面在編譯期、運(yùn)行時(shí)對(duì)代碼做很多優(yōu)化,當(dāng)代碼塊處于整個(gè)系統(tǒng)中運(yùn)行時(shí)并不一定會(huì)生效,產(chǎn)生錯(cuò)誤的基準(zhǔn)測(cè)試結(jié)果,這個(gè)問題就是JMH要解決的
    2021-06-06
  • java算法題解LeetCode30包含min函數(shù)的棧實(shí)例

    java算法題解LeetCode30包含min函數(shù)的棧實(shí)例

    這篇文章主要為大家介紹了java算法題解LeetCode30包含min函數(shù)的棧實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Java優(yōu)先隊(duì)列(PriorityQueue)重寫compare操作

    Java優(yōu)先隊(duì)列(PriorityQueue)重寫compare操作

    這篇文章主要介紹了Java優(yōu)先隊(duì)列(PriorityQueue)重寫compare操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java利用File類創(chuàng)建文件的示例代碼

    Java利用File類創(chuàng)建文件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Java中的File類創(chuàng)建文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 一文解析Apache?Avro數(shù)據(jù)

    一文解析Apache?Avro數(shù)據(jù)

    本文是avro解析的demo,當(dāng)前FlinkSQL僅適用于簡(jiǎn)單的avro數(shù)據(jù)解析,復(fù)雜嵌套avro數(shù)據(jù)暫時(shí)不支持。本文主要解析Apache?Avro數(shù)據(jù)的相關(guān)內(nèi)容,感興趣的朋友一起看看吧
    2021-12-12
  • Spring cache整合redis代碼實(shí)例

    Spring cache整合redis代碼實(shí)例

    這篇文章主要介紹了Spring cache整合redis代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論