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

解讀JAVA中的位運(yùn)算操作

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

1、名詞解釋

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

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

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

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

2、正負(fù)數(shù)換算

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

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

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

負(fù)數(shù)的換算方法

已知最高位為1,符號位不變,將其它位取反,然后+1即可得出對應(yīng)負(fù)數(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

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

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

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

3、位移運(yùn)算演示

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

  • 演示壹 100<<2=400

  • 演示貳 15>>2=3

  • 演示叁 1325400064<<2=1006632960

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

  • 演示伍 -1895825408<<2=1006632960

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

4、拓展

~:二進(jìn)制取反運(yùn)算。

  • 演示 ~79=-80

&:二進(jìn)制與運(yùn)算

  • 演示 75&(-100)=8

|:二進(jìn)制或運(yùn)算

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Java?MyBatis本地緩存原理詳解

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

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

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

最新評論

通辽市| 治县。| 柞水县| 扶余县| 普兰店市| 镶黄旗| 江西省| 台安县| 吴忠市| 合山市| 五指山市| 婺源县| 天祝| 睢宁县| 资源县| 松滋市| 宽甸| 珲春市| 岫岩| 酒泉市| 闸北区| 赤城县| 仁怀市| 林甸县| 南充市| 凤阳县| 凤山市| 甘洛县| 务川| 紫阳县| 孟连| 闵行区| 鸡东县| 巴彦淖尔市| 丹棱县| 贵定县| 普兰店市| 贵德县| 望城县| 河西区| 洪雅县|