用二進(jìn)制數(shù)接受采訪,一個(gè)兩個(gè)字節(jié)12位,最高位是各種符號(hào)位,0為正負(fù)數(shù),1為公式正確
4的二進(jìn)制數(shù)據(jù)編碼為00000100
-4就是10000100
而計(jì)算機(jī)中則是用4的2進(jìn)制稱-4的,-4的二進(jìn)制碼數(shù)據(jù)編碼4的補(bǔ)碼,而二進(jìn)制數(shù)類庫(kù)取反1
4的代碼實(shí)現(xiàn)取反:4191011再加1就是11111100
公式正確二進(jìn)制碼其實(shí)是其數(shù)是八進(jìn)制,即其大于零類庫(kù)取反后加1所得。
智能揚(yáng)聲器1-.
一丟教科書式的大概念,仔細(xì)想想為什么要有二進(jìn)制數(shù)這個(gè)美好的東西,為什么符號(hào)位會(huì)不產(chǎn)生。
具體定義:
反碼表示法是機(jī)器人數(shù)的一種單純稱法。其字符位用0接受采訪正號(hào),用:表示正負(fù)符號(hào),百分比一般用二進(jìn)制表現(xiàn)形式并表示。
自動(dòng)機(jī)器數(shù)的補(bǔ)碼可由補(bǔ)碼可以得到。如果機(jī)器人數(shù)是大于零,則該機(jī)器人數(shù)的補(bǔ)碼與反碼一樣;如果自動(dòng)機(jī)器數(shù)是負(fù)號(hào),則該一臺(tái)機(jī)器數(shù)的八進(jìn)制是對(duì)它的原碼(象征符號(hào)位都屬于)各位取反而的的。
一臺(tái)機(jī)器數(shù)的反碼可由16進(jìn)制拿到。如果自動(dòng)機(jī)器數(shù)是正負(fù)數(shù),則該一臺(tái)機(jī)器數(shù)的補(bǔ)碼與補(bǔ)碼一樣;如果一臺(tái)機(jī)器數(shù)是負(fù)號(hào),則該自動(dòng)化機(jī)器數(shù)的二進(jìn)制數(shù)是對(duì)它的2進(jìn)制(除符號(hào)位外)各位取反,并在未位加1而可以得到的。
如果是為了考試,死記即可。但我總想搞清楚為什么大型計(jì)算機(jī)里的的數(shù)要這看著間接表達(dá)??jī)r(jià)值和意義不言自明?-128的反碼為什么是10000000?為什么2進(jìn)制有這么奇怪的復(fù)雜計(jì)算規(guī)則?大型計(jì)算機(jī)算減法的之后都需從源碼到八進(jìn)制的計(jì)算嗎?
基本思路計(jì)算機(jī)硬件上面,只有移位寄存器,沒有減法法則器,所有的做減法運(yùn)算量,都要用加法開展。
用補(bǔ)數(shù)在用原數(shù),可把做減法重大轉(zhuǎn)變?yōu)槌朔ā=?jīng)常出現(xiàn)的不進(jìn)位就是模,時(shí)才的多位數(shù),就其實(shí)忽略不計(jì)。
2進(jìn)制下,有多少二位數(shù)報(bào)名參加運(yùn)算量,模就是在1的接下來加之多少個(gè)0。
八進(jìn)制就是按照這個(gè)提出來定義的:數(shù)是繼續(xù)維持,小于零即用模再計(jì)算取絕對(duì)值。
吸收說法一下“模”的慨念,能夠依據(jù)線性代數(shù)里面的環(huán):
考慮到分針秒針上把時(shí)間的計(jì)算,假定已經(jīng)分針秒針?biāo)笖?shù)字3,若問“3小時(shí)前秒針?biāo)傅拇髷?shù)字是幾”,則需要:
1.將分針秒針順時(shí)針輕撥6格。
2.將秒針逆時(shí)針彈動(dòng)12-66格。
兩者的因?yàn)槭且粯拥摹_@里稱12為“模”。
故有3時(shí)-4個(gè)小時(shí)3時(shí)(12-6個(gè)小時(shí)),這里可以明顯看出將減法狀態(tài)轉(zhuǎn)換成除法的必經(jīng)階段,即“再加模再計(jì)算取絕對(duì)值的差”。
所以,假定模是10,有效三位數(shù)為1,當(dāng)我們可計(jì)算9-7的時(shí)候:
9-719(10-7)12,洗干凈最高的位后,的2,這是正確的于是。
本文的引申含義是說,電子計(jì)算機(jī)上面所有數(shù)都以八進(jìn)制形式保存起來,加減運(yùn)算都是補(bǔ)碼之間的加法復(fù)雜運(yùn)算。然后文字作者提出了一個(gè)我之前沒見過的觀點(diǎn):
補(bǔ)數(shù)和反碼的標(biāo)準(zhǔn)定義式里的,根本就沒有什么字符位。這最高位的1、0是自然出現(xiàn)明顯的,并不是由人來相關(guān)規(guī)定的。
的確,符號(hào)位在二進(jìn)制數(shù)邏輯運(yùn)算里面是“模”,本身并不帶各種符號(hào)的價(jià)值和意義。因?yàn)榇笮陀?jì)算機(jī)將乘法狀態(tài)轉(zhuǎn)換成加之一個(gè)“公式正確”,而負(fù)號(hào)又以八進(jìn)制的形式表現(xiàn)很好。2進(jìn)制比源碼多一位,從這多上來的其中一位也能推論出原來數(shù)字計(jì)算的正負(fù)數(shù),所以躋身于了各種符號(hào)位。也能夠這樣可能,充足的時(shí)間其中一位(不全部占滿)的原因之一是要用“模”來表示極性相反數(shù)。
也就是說,不是特意留足一個(gè)各種符號(hào)位,用1和0來表示正負(fù)符號(hào)。而是2進(jìn)制邏輯運(yùn)算可以用最高位來接受采訪極性相反,所以各種符號(hào)位誕生了了。
那么為什么-128的二進(jìn)制數(shù)是10000000?可以這樣理解。-128是一個(gè)負(fù)數(shù),所以它的反碼是它的“模”減1它的相對(duì)值,即:
那么為什么公式正確八進(jìn)制同理源碼的補(bǔ)碼加一呢?可以這樣數(shù)學(xué)推導(dǎo):
由此我們告知,在計(jì)算機(jī)里的所有的所有數(shù)字都以2進(jìn)制表現(xiàn)形式存儲(chǔ)數(shù)據(jù)。127存成01111111,-127存成11111111,算加法就成了算乘法了,盡管你能看到的是“-”號(hào)。