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

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

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

1、名詞解釋

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

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

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

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

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

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

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

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

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

已知最高位為1,符號(hào)位不變,將其它位取反,然后+1即可得出對(duì)應(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)制原碼

符號(hào)位不變,將剩下二進(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í),會(huì)被自動(dòng)轉(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)文章

  • 學(xué)習(xí)Java內(nèi)存模型JMM心得

    學(xué)習(xí)Java內(nèi)存模型JMM心得

    這篇文章主要介紹了學(xué)習(xí)Java內(nèi)存模型JMM的心得以及對(duì)其原理做了深入的介紹,有興趣的朋友學(xué)習(xí)下吧。
    2017-12-12
  • SpringBoot實(shí)現(xiàn)日志鏈路追蹤的項(xiàng)目實(shí)踐

    SpringBoot實(shí)現(xiàn)日志鏈路追蹤的項(xiàng)目實(shí)踐

    在分布式系統(tǒng)中,由于請(qǐng)求的處理過(guò)程可能會(huì)跨越多個(gè)服務(wù),因此,對(duì)請(qǐng)求的追蹤變得尤為重要,本文主要介紹了SpringBoot實(shí)現(xiàn)日志鏈路追蹤的項(xiàng)目實(shí)踐,感興趣的可以了解一下
    2024-03-03
  • SpringBoot中集成Swagger2及簡(jiǎn)單實(shí)用

    SpringBoot中集成Swagger2及簡(jiǎn)單實(shí)用

    使用Swagger你只需要按照它的規(guī)范去定義接口及接口相關(guān)的信息,再通過(guò)Swagger衍生出來(lái)的一系列項(xiàng)目和工具,就可以做到生成各種格式的接口文檔,以及在線接口調(diào)試頁(yè)面等等,這篇文章主要介紹了SpringBoot中集成Swagger2,需要的朋友可以參考下
    2023-06-06
  • Java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載功能

    Java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載功能

    這篇文章主要介紹了Java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • Java中Vector與ArrayList的區(qū)別詳解

    Java中Vector與ArrayList的區(qū)別詳解

    本篇文章是對(duì)Java中Vector與ArrayList的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • JPA之映射mysql text類型的問(wèn)題

    JPA之映射mysql text類型的問(wèn)題

    這篇文章主要介紹了JPA之映射mysql text類型的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java深入探索線程安全和線程通信的特性

    Java深入探索線程安全和線程通信的特性

    這篇文章主要介紹了Java線程安全和線程通信的特性,線程安全是多線程編程時(shí)的計(jì)算機(jī)程序代碼中的一個(gè)概念。在擁有共享數(shù)據(jù)的多條線程并行執(zhí)行的程序中,線程安全的代碼會(huì)通過(guò)同步機(jī)制保證各個(gè)線程都可以正常且正確的執(zhí)行,不會(huì)出現(xiàn)數(shù)據(jù)污染等意外情況
    2022-05-05
  • Java中的System.arraycopy()淺復(fù)制方法詳解

    Java中的System.arraycopy()淺復(fù)制方法詳解

    這篇文章主要介紹了Java中的System.arraycopy()淺復(fù)制方法詳解,Java數(shù)組的復(fù)制操作可以分為深度復(fù)制和淺度復(fù)制,簡(jiǎn)單來(lái)說(shuō)深度復(fù)制,可以將對(duì)象的值和對(duì)象的內(nèi)容復(fù)制;淺復(fù)制是指對(duì)對(duì)象引用的復(fù)制,需要的朋友可以參考下
    2023-11-11
  • 簡(jiǎn)單了解Spring Cloud Alibaba相關(guān)知識(shí)

    簡(jiǎn)單了解Spring Cloud Alibaba相關(guān)知識(shí)

    這篇文章主要介紹了簡(jiǎn)單了解Spring Cloud Alibaba相關(guān)知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • RabbitMQ之消息的可靠性方案詳解

    RabbitMQ之消息的可靠性方案詳解

    這篇文章主要介紹了RabbitMQ之消息的可靠性方案詳解,MQ 消息數(shù)據(jù)完整的鏈路為:從 Producer 發(fā)送消息到 RabbitMQ 服務(wù)器中,再由 Broker 服務(wù)的 Exchange 根據(jù) Routing_Key 路由到指定的 Queue 隊(duì)列中,最后投送到消費(fèi)者中完成消費(fèi),需要的朋友可以參考下
    2023-08-08

最新評(píng)論