第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么對帶符號的數(shù)字寧愿用二進(jìn)制補(bǔ)碼,也不用符號和幅值?

為什么對帶符號的數(shù)字寧愿用二進(jìn)制補(bǔ)碼,也不用符號和幅值?

慕無忌1623718 2019-12-07 14:44:20
我只是很好奇,是否有原因要以二進(jìn)制形式表示-1,使用二進(jìn)制補(bǔ)碼:翻轉(zhuǎn)位并加1?-1由11111111(二進(jìn)制補(bǔ)碼)表示,而不是(對我來說更直觀)10000001,后者是二進(jìn)制1,第一位為負(fù)標(biāo)志。免責(zé)聲明:我的工作不依賴于二進(jìn)制算法!
查看完整描述

3 回答

?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗 獲得超6個贊

在我解釋這個之前,讓我們回到基礎(chǔ)。2'補(bǔ)碼是1的補(bǔ)碼+ 1?,F(xiàn)在,什么是1的補(bǔ)碼,以及它的意義又是什么。


任何n位數(shù)字及其1的補(bǔ)數(shù)之和為您提供了可以由這些n位表示的最大數(shù)字。例:


?0010 (2 in 4 bit system)

+1101 (1's complement of 2)

___________________________

?1111? (the highest number that we can represent by 4 bits)

現(xiàn)在,如果我們嘗試將結(jié)果再加1,將會發(fā)生什么。這將導(dǎo)致溢出。


結(jié)果將1 0000是0(因為我們正在處理4位數(shù)字,(左側(cè)的1是溢出)


所以,


Any n-bit number + its 1's complement = max n-bit number

Any n-bit number + its 1'complement + 1 = 0 ( as explained above, overflow will occur as we are adding 1 to max n-bit number)

然后有人決定將1的補(bǔ)碼+ 1稱為2'補(bǔ)碼。因此,上面的語句變?yōu)椋喝魏蝞位數(shù)字+它的2的補(bǔ)碼= 0,這意味著一個數(shù)字的2的補(bǔ)碼=-(該數(shù)字的)


所有這一切又產(chǎn)生了一個問題,為什么我們只能使用n位中的(n-1)代表正數(shù),為什么最左邊的n位代表正負(fù)號(最左邊的0代表+ ve數(shù),而1意味著-ve號)。例如,如果第32位為1,則為什么僅使用java中int的前31位表示正數(shù),即它的a -ve數(shù)。


?1100 (lets assume 12 in 4 bit system)

+0100(2's complement of 12)

___________________________

1 0000(結(jié)果為零,進(jìn)位1溢出)


因此,(n的n + 2'的補(bǔ)數(shù))= 0的系統(tǒng)仍然有效。這里唯一的歧義是2的12的補(bǔ)碼是0100,除了2s補(bǔ)碼系統(tǒng)中表示-12之外,它也歧義地表示+8。


如果正數(shù)的最左位始終為0,將解決此問題。在那種情況下,它們的2的補(bǔ)碼在其最左邊的位將始終為1,并且我們不會出現(xiàn)表示2的補(bǔ)碼和+ ve數(shù)的同一位集合的歧義。


查看完整回答
反對 回復(fù) 2019-12-07
  • 3 回答
  • 0 關(guān)注
  • 770 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號