二進(jìn)制的減法采用補(bǔ)碼運(yùn)算,二進(jìn)制的減法怎么計(jì)算
- 夕逆IT
- 開(kāi)發(fā)語(yǔ)言
- 2023-08-13
- 364
大家好,今天小編來(lái)為大家解答二進(jìn)制的減法采用補(bǔ)碼運(yùn)算這個(gè)問(wèn)題,二進(jìn)制的減法怎么計(jì)算很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!二進(jìn)制的減法運(yùn)算二進(jìn)制數(shù)的減法運(yùn)算,從高位借1...
大家好,今天小編來(lái)為大家解答二進(jìn)制的減法采用補(bǔ)碼運(yùn)算這個(gè)問(wèn)題,二進(jìn)制的減法怎么計(jì)算很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
二進(jìn)制的減法運(yùn)算
二進(jìn)制數(shù)的減法運(yùn)算,從高位借1過(guò)來(lái),則當(dāng)2。例如:1110-1001,個(gè)位不夠減,從高位借1過(guò)來(lái)當(dāng)2,減去1剩1得0101。例如:1100-1001得0011(計(jì)算機(jī)內(nèi),減法用加補(bǔ)碼的方法用加法器運(yùn)算。不同于手算。)
二進(jìn)制之間的運(yùn)算一定要用補(bǔ)碼嗎
因?yàn)檠a(bǔ)碼表示法中0的表示是唯一的,而原碼和反碼表示時(shí)有+0和-0的區(qū)別,若用原碼或反碼進(jìn)行計(jì)算,需要對(duì)結(jié)果進(jìn)行修正,補(bǔ)碼則不需要。兩個(gè)數(shù)補(bǔ)碼的和等于和的補(bǔ)碼,兩個(gè)數(shù)差的補(bǔ)碼等于被減數(shù)補(bǔ)碼與減數(shù)相反數(shù)補(bǔ)碼的和。利用補(bǔ)碼運(yùn)算可以將減法轉(zhuǎn)化成加法計(jì)算。這樣在運(yùn)算器實(shí)現(xiàn)時(shí)可以用加法器通過(guò)簡(jiǎn)單變換即可實(shí)現(xiàn)減法運(yùn)算!
為什么計(jì)算機(jī)中帶符號(hào)數(shù)采用補(bǔ)碼表示
丟開(kāi)教科書(shū)式的概念,想想為什么要有補(bǔ)碼這個(gè)東西,為什么符號(hào)位會(huì)產(chǎn)生。定義:
原碼表示法是機(jī)器數(shù)的一種簡(jiǎn)單的表示法。其符號(hào)位用0表示正號(hào),用:表示負(fù)號(hào),數(shù)值一般用二進(jìn)制形式表示。
機(jī)器數(shù)的反碼可由原碼得到。如果機(jī)器數(shù)是正數(shù),則該機(jī)器數(shù)的反碼與原碼一樣;如果機(jī)器數(shù)是負(fù)數(shù),則該機(jī)器數(shù)的反碼是對(duì)它的原碼(符號(hào)位除外)各位取反而得到的。
機(jī)器數(shù)的補(bǔ)碼可由原碼得到。如果機(jī)器數(shù)是正數(shù),則該機(jī)器數(shù)的補(bǔ)碼與原碼一樣;如果機(jī)器數(shù)是負(fù)數(shù),則該機(jī)器數(shù)的補(bǔ)碼是對(duì)它的原碼(除符號(hào)位外)各位取反,并在未位加1而得到的。
如果是為了考試,死記即可。但我總想搞清楚為什么計(jì)算機(jī)里面的數(shù)要這樣子表達(dá)?意義何在?-128的補(bǔ)碼為什么是10000000?為什么補(bǔ)碼有這么奇怪的運(yùn)算規(guī)則?計(jì)算機(jī)算減法的時(shí)候都需要從源碼到補(bǔ)碼的計(jì)算嗎?
思路計(jì)算機(jī)里面,只有加法器,沒(méi)有減法器,所有的減法運(yùn)算,都必須用加法進(jìn)行。
用補(bǔ)數(shù)代替原數(shù),可把減法轉(zhuǎn)變?yōu)榧臃ā3霈F(xiàn)的進(jìn)位就是模,此時(shí)的進(jìn)位,就應(yīng)該忽略不計(jì)。
二進(jìn)制下,有多少位數(shù)參加運(yùn)算,模就是在1的后面加上多少個(gè)0。
補(bǔ)碼就是按照這個(gè)要求來(lái)定義的:正數(shù)不變,負(fù)數(shù)即用模減去絕對(duì)值。
補(bǔ)充解釋一下“?!钡母拍?,可以參照離散數(shù)學(xué)里面的環(huán):考慮時(shí)鐘上時(shí)間的計(jì)算,假設(shè)現(xiàn)在時(shí)針指向數(shù)字3,若問(wèn)“6小時(shí)前時(shí)針指向的數(shù)字是幾”,則可以:1.將時(shí)針逆時(shí)針撥動(dòng)6格。2.將時(shí)針順時(shí)針撥動(dòng)12-6=6格。兩者的結(jié)果是一樣的。這里稱(chēng)12為“模”。故有3時(shí)-6個(gè)小時(shí)=3時(shí)+(12-6個(gè)小時(shí)),這里可以看到將減法轉(zhuǎn)換成加法的過(guò)程,即“加上模減去絕對(duì)值的差”。所以,假設(shè)模是10,有效位數(shù)為1,當(dāng)我們計(jì)算9-7的時(shí)候:9-7=>9+(10-7)=12,去掉最高的位后,得到2,這是正確的結(jié)果。作者的意思是說(shuō),計(jì)算機(jī)里面所有數(shù)都以補(bǔ)碼形式保存,加減運(yùn)算都是補(bǔ)碼之間的加法運(yùn)算。然后作者提出了一個(gè)我之前沒(méi)聽(tīng)過(guò)的觀點(diǎn):
補(bǔ)數(shù)和補(bǔ)碼的定義式里面,根本就沒(méi)有什么符號(hào)位。這最高位的1、0是自然出現(xiàn)的,并不是由人來(lái)規(guī)定的。
的確,符號(hào)位在補(bǔ)碼運(yùn)算里面是“?!保旧聿⒉粠Х?hào)的意義。因?yàn)橛?jì)算機(jī)將加法轉(zhuǎn)換成加上一個(gè)“負(fù)數(shù)”,而負(fù)數(shù)又以補(bǔ)碼的形式表現(xiàn)。補(bǔ)碼比源碼多一位,從這多出來(lái)的一位可以推斷出原來(lái)數(shù)字的正負(fù)號(hào),所以成為了符號(hào)位。也可以這樣認(rèn)為,留出一位(不全部占滿(mǎn))的原因是要用“模”來(lái)表示正負(fù)數(shù)。
也就是說(shuō),不是特意留出一個(gè)符號(hào)位,用1和0來(lái)表示正負(fù)號(hào)。而是補(bǔ)碼運(yùn)算可以用最高位來(lái)表示正負(fù),所以符號(hào)位誕生了。
那么為什么-128的補(bǔ)碼是10000000?可以這樣理解。-128是一個(gè)負(fù)數(shù),所以它的補(bǔ)碼是它的“?!睖p去它的絕對(duì)值,即:
那么為什么負(fù)數(shù)補(bǔ)碼等于源碼的反碼加一呢?可以這樣推導(dǎo):
由此我們得知,在計(jì)算機(jī)里面所有的數(shù)字都以補(bǔ)碼形式存儲(chǔ)。127存成01111111,-127存成11111111,算減法就變成算加法了,盡管你看到的是“-”號(hào)。
二進(jìn)制補(bǔ)碼運(yùn)算結(jié)果是二進(jìn)制嗎
二進(jìn)制補(bǔ)碼運(yùn)算結(jié)果是二進(jìn)制。
如4的二進(jìn)制0100,7的二進(jìn)制為0111,-7的補(bǔ)碼為1001,3的二進(jìn)制0011,-3的補(bǔ)碼為1101,4-7=01001001=1101,原理則是計(jì)算機(jī)中的負(fù)數(shù)的表示方式是最好位是符號(hào)位,減法運(yùn)算其實(shí)就是加法的運(yùn)算,即416-7的二進(jìn)制運(yùn)算
加減法計(jì)算為什么使用補(bǔ)碼,補(bǔ)碼到底是怎
補(bǔ)碼的出現(xiàn)是為了滿(mǎn)足二進(jìn)制負(fù)數(shù)數(shù)據(jù)以及減法運(yùn)算。
因?yàn)榧臃ㄟ\(yùn)算相對(duì)電子計(jì)算機(jī)更加簡(jiǎn)潔,所以我們可以將減法運(yùn)算通過(guò)補(bǔ)碼轉(zhuǎn)換成加法運(yùn)算,以實(shí)現(xiàn)簡(jiǎn)化電路。
補(bǔ)碼定義為(N)補(bǔ)=R^n-N,其中R為數(shù)值,n為位數(shù)。我們以十進(jìn)制為例,想要計(jì)算84-36,那么只需要計(jì)算84+(46)補(bǔ)-10^2=84+64-100=48。以此在計(jì)算中發(fā)到負(fù)數(shù)變正數(shù),減法變加法的目的。
計(jì)算機(jī)二進(jìn)制減法的運(yùn)算過(guò)程
二進(jìn)制的加法按二進(jìn)制的加法規(guī)則進(jìn)行(對(duì)齊各位進(jìn)行,相當(dāng)于我們做豎式的加法):
0+0=0
0+1=1
1+0=1
1+1=10
二進(jìn)制的減法運(yùn)算可按照加法運(yùn)算的逆運(yùn)算進(jìn)行:
10-1=1(借位)
1-1=0
1-0=1
0-0=0
實(shí)際上在計(jì)算機(jī)內(nèi)部做減法時(shí)是用加法做的(-123就是+(-123))。這個(gè)具體細(xì)節(jié)就不容易說(shuō)清楚了。需要學(xué)習(xí)二進(jìn)制補(bǔ)碼的知識(shí)和計(jì)算機(jī)組成原理才行。
文章分享結(jié)束,二進(jìn)制的減法采用補(bǔ)碼運(yùn)算和二進(jìn)制的減法怎么計(jì)算的答案你都知道了嗎?歡迎再次光臨本站哦!
本文鏈接:http://xinin56.com/kaifa/1199.html