java中對(duì)一個(gè)整數(shù)進(jìn)行取反后關(guān)于輸出值的分析

在分析之前必須先明確如下幾點(diǎn):

1.Java是用補(bǔ)碼來(lái)存儲(chǔ)負(fù)數(shù)的靠柑,也就是說(shuō)我們對(duì)一個(gè)數(shù)進(jìn)行取反輸出,輸出的其實(shí)是一個(gè)在內(nèi)存中以補(bǔ)碼形式所存在的數(shù)吓懈;

2.原碼歼冰,反碼,補(bǔ)碼的轉(zhuǎn)換規(guī)則:{

(1)正數(shù)的原碼耻警,反碼隔嫡,補(bǔ)碼完全一樣即符號(hào)位固定為0數(shù)值位相同;

(2)負(fù)數(shù)的符號(hào)位固定為1甘穿,由原碼轉(zhuǎn)變?yōu)檠a(bǔ)碼時(shí)的規(guī)則如下:? {

? ? (1)原碼符號(hào)位為1固定不變腮恩,整數(shù)的每一位二進(jìn)制數(shù)位取反得到反碼;

? ? (2)反碼符號(hào)位為1不變温兼,在反碼數(shù)值位最低位加1秸滴,得到補(bǔ)碼。

? }

}

注:對(duì)一個(gè)數(shù)取反募判,得到的可不是它的反碼哦荡含!


舉例:

public class Test{

? ? ? public static void main(String[] args){

? ? ? ? ? ? ? ? int a = 8;

? ? ? ? ? ? ? ? System.out.println(~a);//測(cè)試發(fā)現(xiàn)輸出-9,而不是大多數(shù)人認(rèn)為的7

? ? ? }

}

分析:

正數(shù)8的二進(jìn)制表示如下:

00000000 00000000 00000000 00001000 ? (正數(shù)8的原碼届垫,補(bǔ)碼释液,反碼都是這串二進(jìn)制數(shù))

對(duì)正數(shù)8進(jìn)行取反得:

11111111 11111111 11111111 11110111(*)

可以發(fā)現(xiàn)對(duì)正數(shù)8進(jìn)行取反后由于符號(hào)位變成了1故得到了一個(gè)負(fù)數(shù)然而java存儲(chǔ)負(fù)數(shù)時(shí)是用其補(bǔ)碼來(lái)進(jìn)行存儲(chǔ)的即問(wèn)題轉(zhuǎn)化為求由于對(duì)正數(shù)8取反所得的負(fù)數(shù)存儲(chǔ)問(wèn)題!按照負(fù)數(shù)原碼和補(bǔ)碼轉(zhuǎn)化規(guī)則:

1.(*)的符號(hào)位1不變装处,其它位取反得到反碼:

? ? ?10000000 00000000 00000000 00001000

2.反碼的符號(hào)位不變误债,反碼的數(shù)值位最低位加1,得到補(bǔ)碼:

? ? ?10000000 00000000 00000000 00001001(該串二進(jìn)制數(shù)即為輸出的-9)

以上就是為什么對(duì)正數(shù)8取反操作后輸出的值為-9的原因妄迁。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寝蹈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子登淘,更是在濱河造成了極大的恐慌箫老,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件形帮,死亡現(xiàn)場(chǎng)離奇詭異槽惫,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)辩撑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門界斜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人合冀,你說(shuō)我怎么就攤上這事各薇。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵峭判,是天一觀的道長(zhǎng)开缎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)林螃,這世上最難降的妖魔是什么奕删? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮疗认,結(jié)果婚禮上完残,老公的妹妹穿的比我還像新娘。我一直安慰自己横漏,他們只是感情好谨设,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著缎浇,像睡著了一般扎拣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上素跺,一...
    開(kāi)封第一講書(shū)人閱讀 51,698評(píng)論 1 305
  • 那天二蓝,我揣著相機(jī)與錄音,去河邊找鬼亡笑。 笑死侣夷,一個(gè)胖子當(dāng)著我的面吹牛横朋,可吹牛的內(nèi)容都是我干的仑乌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼琴锭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼晰甚!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起决帖,我...
    開(kāi)封第一講書(shū)人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤厕九,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后地回,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體扁远,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年刻像,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畅买。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡细睡,死狀恐怖谷羞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情溜徙,我是刑警寧澤湃缎,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布犀填,位于F島的核電站,受9級(jí)特大地震影響嗓违,放射性物質(zhì)發(fā)生泄漏九巡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一蹂季、第九天 我趴在偏房一處隱蔽的房頂上張望比庄。 院中可真熱鬧,春花似錦乏盐、人聲如沸佳窑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)神凑。三九已至,卻和暖如春何吝,著一層夾襖步出監(jiān)牢的瞬間溉委,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工爱榕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瓣喊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓黔酥,卻偏偏與公主長(zhǎng)得像藻三,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子跪者,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.你自已決定是否需要有正負(fù): 就像我們必須決定某個(gè)量使用整數(shù)還是實(shí)數(shù)棵帽,使用多大的范圍數(shù)一樣,我們必須自已決定某個(gè)...
    Xiho丶閱讀 2,092評(píng)論 0 2
  • 一渣玲、二進(jìn)制:所謂二進(jìn)制就是逢二進(jìn)一 (0,1), 因?yàn)槭褂枚M(jìn)制只有 0, 1 兩個(gè)數(shù)逗概,簡(jiǎn)單,易于電子方式實(shí)現(xiàn) ...
    hello大象閱讀 3,465評(píng)論 0 1
  • 到目前為止铅搓,我們學(xué)習(xí)了十進(jìn)制、二進(jìn)制秘噪、八進(jìn)制狸吞、十六進(jìn)制等用來(lái)代表實(shí)際數(shù)值的數(shù),稱為真值,這些數(shù)我們?cè)偃粘I钪卸紩?huì)...
    codingriver閱讀 26,602評(píng)論 4 13
  • 本篇文章講解了計(jì)算機(jī)的原碼, 反碼和補(bǔ)碼. 并且進(jìn)行了深入探求了為何要使用反碼和補(bǔ)碼, 以及更進(jìn)一步的論證了為何可...
    yang2yang閱讀 2,249評(píng)論 1 13
  • These scars long have yearned for your tender caress 纖纖玉手...
    伊卡洛斯l閱讀 1,037評(píng)論 0 51