日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java进制原码_Java 一一 进制、原码 反码 补码、移位操作

發布時間:2024/4/13 java 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java进制原码_Java 一一 进制、原码 反码 补码、移位操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進制

二進制 和 十進制 相互轉換

十進制 和 十六進制 相互轉換

原碼,反碼,補碼

原碼、反碼、補碼:

在計算機內, 有符號數有三種表示法: 原碼, 反碼, 補碼. 所有的數據的運算都是采用 補碼 進行的.

注意: 正數 的原碼, 反碼, 補碼都行相同. 負數稍微復雜

原碼:

就是二進制定點表示,最高位為符號位,”0”表示正,”1”表示負.

反碼:

負數的反碼是對其原碼逐位取反,但符號位除外( 符號位 就是 最高位 ).

補碼:

負數的補碼是在其反碼的末尾 加 1.

注意:

求反碼的時候, 最高位是符號位不能改變

正數的符號位 是 0

負數的符號位 是 1

正數 5:

5的二進制數: 00000101

原碼,補碼,反碼: 00000101

負數 -5;

5的二進制數: 00000101

原碼: 10000101

反碼: 111111010

補碼: 111111011

移位操作

移位操作:

<<:>

>>: 將操作數的二進制碼整體右移指定位數, 右移之后的空 用 “符號位” 來補充

若是 正數 使用 “0” 補充

若是 負數 使用 ”1” 補充

/*

* 2的二進制:

* 00000000_00000000_00000000_00000010

* 左移3位:

* 00000_00000000_00000000_00000010000//轉十進制: 0 * 2^0 + ...+ 1 * 2^4 = 16

* 右移3位

* 00000000_00000000_00000000_00000010//轉十進制: 1 * 2^1 = 2

*/System.out.println(2 << 3); // 16

System.out.println(16 >> 3); // 2

/*

* - 16 二進制數 最高位用 1 來補充(負數最高位 用 1)

* 原碼: 10000_00000000_00000000_00000010000

* 反碼: 11111_11111111_11111111_11111101111//負數的反碼 最高位 不變

* 補碼: 11111_11111111_11111111_11111110000//負數的補碼 是在其反碼的末尾加 1

* 右移3位(在補碼的基礎上 右移3位. 右移之后的空 用 “符號位” 來補充.)

* 11111111_11111111_11111111_11111110

*/

System.out.println(-16 >> 3); // -2

總結

以上是生活随笔為你收集整理的java进制原码_Java 一一 进制、原码 反码 补码、移位操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。