最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解讀JAVA中的位運算操作

 更新時間:2023年08月21日 17:11:16   作者:雨橄  
這篇文章主要介紹了JAVA中的位運算操作,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1、名詞解釋

首先,位移運算僅針對整數(shù),非整數(shù)不支持位移運算。

  • ①<<:左移操作符,低位補0。
  • ②>>:算數(shù)右移符,高位補符號位。
  • ③>>>:邏輯右移符,高位補0。

如果對byte、short類型移位,在移位運算前,它們會先被轉(zhuǎn)成int類型,且返回值也是int類型。

如果對long類型移位,則返回值也是long。

2、正負數(shù)換算

在java中最高位表示符號位,最高位0代表正數(shù),最高位1代表負數(shù)。

用byte數(shù)據(jù)類型舉例,byte占據(jù)8個二進制位:

01111111    正數(shù)(127)
11111111    負數(shù)(-1)

負數(shù)的換算方法

已知最高位為1,符號位不變,將其它位取反,然后+1即可得出對應(yīng)負數(shù)。

以byte類型為例:
11111111    先取反->    10000000    再加1->    10000001    得出結(jié)果->    -1
10001111    先取反->    11110000    再加1->    11110001    得出結(jié)果->    -113
10101010    先取反->    11010101    再加1->    11010110    得出結(jié)果->    -86
10000001    先取反->    11111110    再加1->    11111111    得出結(jié)果->    -127

已知十進制負數(shù),如何算出二進制原碼

符號位不變,將剩下二進制位-1,然后取反即可得出原二進制碼。

以byte類型為例:
-1        二進制->    10000001    再減1->    10000000    再取反得出結(jié)果->    11111111
-113    二進制->    11110001    再減1->    11110000    再取反得出結(jié)果->    10001111
-86        二進制->    11010110    再減1->    11010101    再取反得出結(jié)果->    10101010
-127    二進制->    11111111    再減1->    11111110    再取反得出結(jié)果->    10000001

3、位移運算演示

因為1字節(jié)的byte進行位運算時,會被自動轉(zhuǎn)成4字節(jié)的int再進行運算,我們這里直接使用int類型進行演示,方便解讀。

  • 演示壹 100<<2=400

  • 演示貳 15>>2=3

  • 演示叁 1325400064<<2=1006632960

  • 演示肆 -1895825408>>2=-473956352

  • 演示伍 -1895825408<<2=1006632960

  • 演示陸 -1895825408>>>2=599785472

4、拓展

~:二進制取反運算。

  • 演示 ~79=-80

&:二進制與運算

  • 演示 75&(-100)=8

|:二進制或運算

  • 演示 75|(-100)=-33

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java經(jīng)典排序算法之冒泡排序代碼實例

    Java經(jīng)典排序算法之冒泡排序代碼實例

    這篇文章主要介紹了Java經(jīng)典排序算法之冒泡排序代碼實例,相鄰兩元素進行比較,如過左側(cè)元素大于右側(cè)元素,則進行交換,每完成一次循環(huán)就將最大元素排在最后,下一次循環(huán)是將其它的數(shù)進行類似操作,需要的朋友可以參考下
    2023-11-11
  • Mybatis-Plus自動填充的實現(xiàn)示例

    Mybatis-Plus自動填充的實現(xiàn)示例

    這篇文章主要介紹了Mybatis-Plus自動填充的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • java新人基礎(chǔ)入門之遞歸調(diào)用

    java新人基礎(chǔ)入門之遞歸調(diào)用

    這篇文章主要給大家介紹了關(guān)于java新人基礎(chǔ)入門之遞歸調(diào)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • IntelliJ IDEA配置Maven阿里云鏡像加速源的全流程

    IntelliJ IDEA配置Maven阿里云鏡像加速源的全流程

    國內(nèi)網(wǎng)絡(luò)訪問 Maven 中央倉庫經(jīng)常超時、依賴下載極慢或失敗,配置阿里云等國內(nèi)鏡像后,Java 項目依賴下載飛快,極大提升開發(fā)效率,是中國開發(fā)者必做優(yōu)化,本文就給大家介紹了IntelliJ IDEA配置Maven阿里云鏡像加速源的全流程,需要的朋友可以參考下
    2025-09-09
  • java設(shè)計模式責(zé)任鏈模式原理案例詳解

    java設(shè)計模式責(zé)任鏈模式原理案例詳解

    一個事件需要經(jīng)過多個對象處理是一個挺常見的場景,譬如采購審批流程,請假流程,軟件開發(fā)中的異常處理流程,web請求處理流程等各種各樣的流程,可以考慮使用責(zé)任鏈模式來實現(xiàn)
    2021-09-09
  • Java命令行參數(shù)解析工具jcommander詳解

    Java命令行參數(shù)解析工具jcommander詳解

    這篇文章主要為大家介紹了Java命令行參數(shù)解析工具jcommander命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 基于Java的Socket多客戶端Client-Server聊天程序的實現(xiàn)

    基于Java的Socket多客戶端Client-Server聊天程序的實現(xiàn)

    這篇文章主要介紹了基于Java的Socket多客戶端Client-Server聊天程序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java并發(fā)編程中的ConcurrentLinkedQueue詳解

    Java并發(fā)編程中的ConcurrentLinkedQueue詳解

    這篇文章主要介紹了Java并發(fā)編程中的ConcurrentLinkedQueue詳解,GetThread線程不會因為ConcurrentLinkedQueue隊列為空而等待,而是直接返回null,所以當實現(xiàn)隊列不空時,等待時,則需要用戶自己實現(xiàn)等待邏輯,需要的朋友可以參考下
    2023-12-12
  • Java?MyBatis本地緩存原理詳解

    Java?MyBatis本地緩存原理詳解

    這篇文章主要介紹了Java?MyBatis本地緩存原理詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • 關(guān)于Java日期工具類的編寫

    關(guān)于Java日期工具類的編寫

    這篇文章主要介紹了關(guān)于Java日期工具類的編寫,在Java開發(fā)中,經(jīng)常會遇到處理日期相關(guān)的數(shù)據(jù),那么今天我們來自己寫一個工具類,文中有詳細的實例代碼以及實現(xiàn)思路,需要的朋友可以參考下
    2023-05-05

最新評論

河源市| 琼结县| 建湖县| 苏尼特左旗| 密山市| 眉山市| 吴桥县| 大丰市| 汉川市| 龙陵县| 灵台县| 班玛县| 迭部县| 保亭| 锡林郭勒盟| 长武县| 巍山| 双城市| 朔州市| 岗巴县| 华蓥市| 丰顺县| 九江市| 牙克石市| 定兴县| 昆山市| 类乌齐县| 家居| 平南县| 嘉定区| 永德县| 泸溪县| 英超| 莲花县| 云林县| 饶阳县| 宁乡县| 积石山| 象州县| 张北县| 莒南县|