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

歡迎訪問 生活随笔!

生活随笔

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

java

Java int -1无符号右移_java中的无符号右移

發(fā)布時間:2024/4/13 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java int -1无符号右移_java中的无符号右移 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

java中的byte類型在運算過程中都會被轉(zhuǎn)換為int類型進行運算,這樣在對負的byte類型進行無符號右移的時候會出現(xiàn)和有符號右移同樣的結(jié)果。

example:11110000>>>4 ?我們期待變?yōu)?00001111 ,但結(jié)果變?yōu)?1111111。

原因:11110000先被轉(zhuǎn)換為整型11111111111111111111111111110000,然后無符號右移4位變?yōu)?0001111111111111111111111111111,

截取后8位11111111賦值給原值,出現(xiàn)以上結(jié)果。

技巧:我們可以把要參與運算的byte和0xff按位與(保持低8為不變,高位全部賦0),然后再參與無符號移位。

例子:

public class Test{

public static void main(String[] args){

byte b=(byte)0xf1;

byte c=(byte)(b>>4);//有符號右移

byte d=(byte)(b>>>4);//無符號右移(即高位自動填充0)

byte e=(byte)((b&0xff)>>4);

System.out.println(b+" "+c+" "+d+" "+e);

}

}

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的Java int -1无符号右移_java中的无符号右移的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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