日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

java取二进制其中两位_Java:二进制(原码、反码、补码)与位运算(示例代码)...

發(fā)布時(shí)間:2023/12/31 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java取二进制其中两位_Java:二进制(原码、反码、补码)与位运算(示例代码)... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、二進(jìn)制(原碼、反碼、補(bǔ)碼)

二進(jìn)制的最高位是符號(hào)位(“0”代表正數(shù),“1”代表負(fù)數(shù));

Java中沒有無符號(hào)數(shù);

計(jì)算機(jī)以整數(shù)的補(bǔ)碼進(jìn)行運(yùn)算;

1.? 原碼:將一個(gè)整數(shù)轉(zhuǎn)換成二進(jìn)制表示

以 int 類型為例,int類型占4個(gè)字節(jié)、共32位。

例如,2 的原碼為:00000000 00000000 00000000 00000010

-2的原碼為:10000000 00000000 00000000 00000010

2. 反碼

正數(shù)的反碼:與原碼相同

負(fù)數(shù)的反碼:原碼的符號(hào)位不變,其他位取反

例如,-2 的反碼為:11111111 11111111 11111111 11111101

3. 補(bǔ)碼

正數(shù)的補(bǔ)碼:與原碼相同

負(fù)數(shù)的補(bǔ)碼:反碼+1

例如,-2 的補(bǔ)碼為:01111111 11111111 11111111 11111110

二、位運(yùn)算

Java中有4個(gè)位運(yùn)算符:

1. 按位與 &:兩位都為1,結(jié)果為1

例如,2&3 = 2

2? 的原碼為: 00000000 00000000 00000000 00000010

3? 的原碼為: 00000000 00000000 00000000 00000011

2&3 原碼為: 00000000 00000000 00000000 00000010 = 2

2. 按位或 |:至少一位為1,結(jié)果為1

例如,2|3 = 3

2? 的原碼為: 00000000 00000000 00000000 00000010

3? 的原碼為: 00000000 00000000 00000000 00000011

2|3? ?原碼為: 00000000 00000000 00000000 00000011 = 3

3. 按位異或 ^:兩位一個(gè)為1、一個(gè)為0,結(jié)果為1

例如,2|3 = 3

2? 的原碼為: 00000000 00000000 00000000 00000010

3? 的原碼為: 00000000 00000000 00000000 00000011

2^3 原碼為: 00000000 00000000 00000000 00000001 = 1

4. 按位取反 ~:0變成1、1變成0

例如,~2 = -3

對(duì)2的原碼取反:11111111 11111111 11111111 11111101? (取反后結(jié)果的補(bǔ)碼,也就是-3的補(bǔ)碼。我們需要從補(bǔ)碼推出原碼,才能得到-3)

轉(zhuǎn)換成反碼:? ? 11111111 11111111 11111111 11111100 (補(bǔ)碼減1)

轉(zhuǎn)換成原碼:? ? 10000000 00000000 00000000 00000011 =-3 (符號(hào)為不變,其他位取反)

總結(jié)

正數(shù)的原碼、反碼、補(bǔ)碼都一樣;

負(fù)數(shù)的反碼 = 原碼的符號(hào)位不變,其他位取反;

負(fù)數(shù)的補(bǔ)碼 = 反碼+1;

0的原碼、反碼、補(bǔ)碼都是0;

計(jì)算機(jī)以補(bǔ)碼進(jìn)行運(yùn)算;

取反不同于反碼;

2018-01-06?18:38:29

總結(jié)

以上是生活随笔為你收集整理的java取二进制其中两位_Java:二进制(原码、反码、补码)与位运算(示例代码)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。