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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 的原码、补码、反码小总结

發布時間:2023/12/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 的原码、补码、反码小总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先看一個代碼吧:

int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);

這個應該很熟悉吧,是 java?里 HashMap?的計算 hash?值的方法.這里有一個運算符 "^",他其實就是使用補碼來運算的.好了,那么我們下面來說說這些吧:

>原碼。就是當前數字的二進制表現形式,如-1的原碼是1000 0001>反碼正數的反碼就是本身。負數的反碼是二進制保留符號位。剩余位取反,比如-1的反碼是1111 1110>補碼正數的反碼、補碼、原碼都是一樣的,負數的補碼是在其反碼的基礎上+1,比如-1的補碼是1111 1111。正數的原碼、反碼、補碼都相同。負數的反碼是除符合位為1外,其他位全取反,簡單地說,負數求補碼,“反碼加1“。 這句話是不負責任的,因為原碼、反碼和補碼概念中,存在符號位,總結一下,”取反加1“時符號位怎么辦:1)取反時,符號位不參與取反。2)加1時,符號位參與加1。3)特殊補碼,即首位為1,其它位全是0。對于這種形式的補碼,不要去求它的原碼了,求出來也不對,它就表示該類型中的最小負數,比如10000000表示byte類型中的最小負數-128。已知一個數的補碼,求原碼的操作分兩種情況:1)如果補碼的符號位為“0”,表示是一個正數,所以補碼就是該數的原碼.2)如果補碼的符號位為“1”,表示是一個負數,求原碼的操作可以是:符號位為1,其余各位取 反,然后再整個數加1.例如,已知一個補碼為11111001,則原碼是10000111(-7):因為符號位為“1”,表示是一個負數,所以該位不變,仍為“1”;其余7位1111001取反后為0000110;再加1,所以是10000111.java有7種位運算符:與(&),或(|),異或(^),取反(~),左移(<<),有符號右移(>>),無符號右移(>>>)。 這7種位運算符,運算時,符號位都要參與運算。具體的規則如下:& 如果相對應位都是1,則結果為1,否則為0 (A&B),得到12,即0000 1100| 如果相對應位都是0,則結果為0,否則為1 (A | B)得到61,即 0011 1101^ 如果相對應位值相同,則結果為0,否則為1 (A ^ B)得到49,即 0011 0001? 按位補運算符翻轉操作數的每一位,即0變成1,1變成0。 (?A)得到-61,即1100 0011<< 按位左移運算符。左操作數按位左移右操作數指定的位數。 A << 2得到240,即 1111 0000>> 按位右移運算符。左操作數按位右移右操作數指定的位數。 A >> 2得到15即 1111>>>按位右移補零操作符。左操作數的值按右操作數指定的位數右移,移動得到的空位以零填充。 A>>>2得到15即0000 1111//1.& int a = 10,b = 6; /*** a = 10 > 00000000 00000000 00000000 00001010* b = 6 > 00000000 00000000 00000000 00000110* &* 2 > 00000000 00000000 00000000 00000010*/ System.out.println(Integer.toBinaryString(a)); System.out.println(Integer.toBinaryString(b)); System.out.println(a & b);a = -10; b = -6;/*** a = -10 > 11111111 11111111 11111111 11110110* b = -6 > 11111111 11111111 11111111 11111010* &* r = -14 > 11111111 11111111 11111111 11110010*///-10 // 原碼 10000000 00000000 00000000 00001010 // 反碼 11111111 11111111 11111111 11110101 // 補碼 11111111 11111111 11111111 11110110//-6 // 原碼 10000000 00000000 00000000 00000110 // 反碼 11111111 11111111 11111111 11111001 // 補碼 11111111 11111111 11111111 11111010// -14 // 原碼 10000000 0000000 00000000 00001110 // 反碼 11111111 1111111 11111111 11110001 // 補碼 11111111 1111111 11111111 11110010 System.out.println("a = " + a + ",補碼是:" + Integer.toBinaryString(a)); System.out.println("b = " + b + " ,補碼是:" + Integer.toBinaryString(b)); System.out.println("a ^ b is:" + (a & b)); System.out.println("結果的補碼是:" + Integer.toBinaryString(-14));

?

轉載于:https://www.cnblogs.com/zhuzi91/p/8818950.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java 的原码、补码、反码小总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩激情视频在线 | 亚洲精品一区二区三区在线 | 黄色天堂网站 | 污视频在线免费观看 | 欧美大片免费播放器 | 久久久久久激情 | 色综合天天综合综合国产 | 狠狠91 | 国产一区二区三区四区五区六区 | 爱情岛论坛永久入址测速 | 午夜亚洲福利在线老司机 | 国产黄色一区二区三区 | 成人av激情| 激情婷婷小说 | 18禁一区二区 | 91播放在线 | 欧美视频a| 91精品国产成人观看 | 青草视频在线观看免费 | 用力使劲高潮了888av | 69福利社区| 丁香色欲久久久久久综合网 | 激情小说欧美色图 | 日韩av在线看 | 久久av综合 | 三上悠亚一区二区在线观看 | 一级片一区二区三区 | 久久久久久网址 | 国产精品无码久久久久久电影 | 亚洲国产精品女人 | 日韩欧美国产电影 | 亚洲综合色自拍一区 | 8mav在线| 国产草草视频 | 四虎影院在线 | 欧美视频在线一区 | 韩国黄色大片 | 国产欧美a | 一道本无吗一区 | 亚洲视频二 | 国精品一区二区 | 美女久久久久 | 91娇羞白丝 | 欧美成人乱码一二三四区免费 | 日韩视频在线观看二区 | 亚洲图片欧美在线看 | 狠狠干男人的天堂 | 日韩av中文在线观看 | 日日干天天爽 | 中文字幕女同女同女同 | 午夜性生活视频 | 国产福利视频在线观看 | 国产乱子伦精品无码专区 | 国产福利91精品一区二区三区 | 蜜臀在线播放 | 自拍偷拍21p | 日韩电影在线观看中文字幕 | 一本一道久久a久久精品蜜桃 | 国产视频1区2区 | 一级美女黄色片 | a级黄片毛片 | 男生和女生一起差差差很痛的视频 | 在线观看精品国产 | 国产精品无人区 | 色猫咪av| 色婷婷色综合 | 啪啪导航| 91动态图| 国产九色在线播放九色 | 亚洲a人| 国产做爰视频免费播放 | 欧美一二三级 | 日本欧美一区二区三区不卡视频 | 国产靠逼视频 | 日本美女操 | 亚洲激情国产 | 欧美影院| 天堂av片 | 激情福利 | 成人网一区 | 在线国产精品一区 | 中出精品 | 夜夜爽妓女8888视频免费观看 | 中国av一区二区 | 国产精品有限公司 | 婷婷av在线 | 男同志毛片特黄毛片 | 3d动漫精品啪啪一区二区免费 | 97爱爱视频 | 成年丰满熟妇午夜免费视频 | 一级免费毛片 | 最好看的中文字幕国语电影mv | 五月婷婷在线播放 | 欧美性另类| 亚洲图片视频在线 | 91久久久久久久久 | 国产一区二区三区免费视频 | 校园春色亚洲 | 国产成人精品a视频 |