亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解讀JAVA中的位運算操作

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

1、名詞解釋

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

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

如果對byte、short類型移位,在移位運算前,它們會先被轉成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即可得出對應負數(shù)。

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

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

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

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

3、位移運算演示

因為1字節(jié)的byte進行位運算時,會被自動轉成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

總結

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

相關文章

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

    學習Java內(nèi)存模型JMM心得

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

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

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

    SpringBoot中集成Swagger2及簡單實用

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

    Java返回文件時為圖片或pdf等設置在線預覽或下載功能

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

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

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

    JPA之映射mysql text類型的問題

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

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

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

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

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

    簡單了解Spring Cloud Alibaba相關知識

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

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

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

最新評論