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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java中无符号右移怎么移_Java | java中>>(右移)和>>>(无符号右移)的区别...

發(fā)布時(shí)間:2024/8/1 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中无符号右移怎么移_Java | java中>>(右移)和>>>(无符号右移)的区别... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. >> 右移

二進(jìn)制碼整體右移,如果最高位是0,左移空的位就填入0;如果最高位是1,右移空的位就填入1。

正數(shù)有符號(hào)右移

首先計(jì)算4>>2

將4轉(zhuǎn)為二進(jìn)制

0000 0100

右移兩位,符號(hào)位為0,所以高位置0得

0000 0001

轉(zhuǎn)二進(jìn)制得 1

所以 4>>2 =1

負(fù)數(shù)有符號(hào)右移

再來計(jì)算-4>>2

首先我們需要取得-4的補(bǔ)碼 補(bǔ)碼為反碼+1

反碼為正碼按位取反

由正碼0000 0100? 取反得

1111 1011

再+1得

1111 1100

右移兩位,符號(hào)位為1,所以高位置1得

1111 1111

此時(shí)減一得補(bǔ)碼

1111 1110

補(bǔ)碼轉(zhuǎn)正碼得

0000 0001

十進(jìn)制為1,加負(fù)號(hào)得

-1

2.>>> 無符號(hào)右移

二進(jìn)制碼整體右移,左邊符號(hào)位用0補(bǔ)上(不管是符號(hào)位是什么),右邊超出部分舍棄;

正數(shù)無符號(hào)右移

6>>>2

正數(shù)無符號(hào)右移

取6的二進(jìn)制

0000?0000?0000?0000?0000?0000?0000 0110

右移2位,最高位置0

0000?0000?0000?0000?0000?0000?0000 0001

轉(zhuǎn)為10進(jìn)制得

1

負(fù)數(shù)無符號(hào)右移

-6 >>>2

先得6的二進(jìn)制

0000 0000 0000 0000 0000 0000 0000 0110

按位取反,得反碼

1111 1111 1111 1111 1111 1111 1111 1001

反碼+1得補(bǔ)碼

1111?1111?1111?1111?1111?1111?1111?1010

右移,高位置0得

0011?1111?1111?1111?1111?1111?1111?1110

轉(zhuǎn)10進(jìn)制得

1073741822

總結(jié)

以上是生活随笔為你收集整理的java中无符号右移怎么移_Java | java中>>(右移)和>>>(无符号右移)的区别...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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