一進位制數 0111111 2轉換為十進位制數是

2021-05-04 12:54:21 字數 5339 閱讀 3680

1樓:匿名使用者

二進位制如何轉十進位制,十進位制如何轉二進位制

這是一位經驗大神的回答,不是我的回答,我複製過來幫你,你也可以查詢他的回答

|瀏覽:90699

|更新:2017-12-18 12:30

分步閱讀

學計算機的朋友剛開始學習時都要接觸進位制之間的轉換,二進位制、十進位制、八進位制、十六進位制等,這個是很枯燥的,轉來轉去就轉蒙圈了,別蒙別蒙,今天咱們一個一個搞定,看看二進位制和十進位制之間如何相互轉換的。

方法/步驟

1轉成二進位制主要有以下幾種:正整數轉二進位制,負整數轉二進位制,小數轉二進位制;

1、  正整數轉成二進位制。要點一定一定要記住哈:除二取餘,然後倒序排列,高位補零。

也就是說,將正的十進位制數除以二,得到的商再除以二,依次類推知道商為零或一時為止,然後在旁邊標出各步的餘數,最後倒著寫出來,高位補零就ok咧。哎呀,還是舉例說明吧,比如42轉換為二進位制,如圖1所示操作。

242除以2得到的餘數分別為010101,然後咱們倒著排一下,42所對應二進位制就是101010.如圖2所示更直觀的表達。

3計算機內部表示數的位元組單位是定長的,如8位,16位,或32位。所以,位數不夠時,高位補零,所說,如圖3所示,42轉換成二進位制以後就是。00101010,也即規範的寫法為(42)10=(00101010)2.

趕緊記住吧。

42、  負整數轉換成二進位制

方法:先是將對應的正整數轉換成二進位制後,對二進位制取反,然後對結果再加一。還以42為例,負整數就是-42,如圖4所示為方法解釋。

最後即為:(-42)10=(11010110)2.

53、  小數轉換為二進位制的方法:對小數點以後的數乘以2,有一個結果吧,取結果的整數部分(不是1就是0嘍),然後再用小數部分再乘以2,再取結果的整數部分……以此類推,直到小數部分為0或者位數已經夠了就ok了。然後把取的整數部分按先後次序排列就ok了,就構成了二進位制小數部分的序列,舉個例子吧,比如0.

125,如圖5所示。

6如果小數的整數部分有大於0的整數時該如何轉換呢?如以上整數轉換成二進位制,小數轉換成二進位制,然後加在一起就ok了,如圖6所示。

74、  整數二進位制轉換為十進位制:首先將二進位制數補齊位數,首位如果是0就代表是正整數,如果首位是1則代表是負整數。

先看首位是0的正整數,補齊位數以後,將二進位制中的位數分別將下邊對應的值相乘,然後相加得到的就為十進位制,比如1010轉換為十進位制,方法如圖7所示。

85、若二進位制補足位數後首位為1時,就需要先取反再換算:例如,11101011,首位為1,那麼就先取反吧:-00010100,然後算一下10100對應的十進位制為20,所以對應的十進位制為-20,方法如圖8所示。

96、將有小數的二進位制轉換為十進位制時:例如0.1101轉換為十進位制的方法:將二進位制中的四位數分別於下邊(如圖9所示)對應的值相乘後相加得到的值即為換算後的十進位制。

end注意事項

進位制之間的轉換雖然繁瑣,但理解後也不難,但是需要經常溫習,然後才不會弄混淆。

2樓:匿名使用者

是二進位制轉十進位制吧,

3樓:維托斯卡萊特

1*1+2*1+4*1+8*1+16*1+32*1+64*1這是2進位制

計算機組成原理——浮點數表示方法

4樓:開開厲害

就是在二進位制中,一個數的小數點可以可以通過乘以2的冪次來改變位置,這是其原理 。

浮點數的組成:階符+ 階碼 +數符+ 尾數

計算機中表示浮點數的字長通常為32位,其中7位作階碼,1位為階符,23位尾數,1位作數符

例如用2個位元組表示一個浮點數(32寫起來麻煩,所以用2個位元組就是16位來舉例,呵呵希望諒解) (72.45x10^5)d先換成普通二進位制數(11011101000110011001000)b

然後開始像十進位制數的科學計數法那樣寫成約等於(0.1101110)bx(2^23)d

之後再將後半部分的(2^23)d轉換成(2^10111)b

於是整個數就變成了(0.1101110x2^10111)b

在計算機中表示成0001011101101110 其中第一個0是階符表示指數是正的第九個0表示尾數是正的他們中間的就是階碼,後面的就是尾數。嗯就這樣了,希望我講清楚了,要是不明白可以繼續問我。

5樓:匿名使用者

為了表示浮點數,數被分為兩部分:整數部分和小數部分。例如,浮點數14.234就有整數部分14和小

數部分0.234.首先把浮點數轉換成二進位制數,步驟如下:

1把整數部分轉換成二進位制.2把小數部分轉換成二進位制.3在兩部分之間加上小數點.

浮點數還可以規範化,浮點數可以用單精度表示法和雙精度表示法.規範化只儲存這個數的三個部分的資訊:符號,指教和尾數.

如+1000111.0101規範化後為

+ 2^6 * 1.0001110101

符號 指數 尾數

規範化數的單精度表示法如+2^6*1.01000111001解:

由於符號為正,就用0表示.指數是6,在excess_127表示法中,給指數加上127得到133.用二進位制表示,就是10000101.

尾數是01000111001.當把位數增加到32位,得到01000111001000000000000.注意不可以漏掉左邊的0,因為它是小數.

漏掉了那個0就相當於把這個數乘於2.這個數在記憶體中以32位數儲存.如下所示

符號 指數 尾數

0 10000101 01000111001000000000000

6樓:匿名使用者

我畫個**釋:

當然我們程式設計的時候不用這麼麻煩,可以 >>   《來移位

7樓:活寶小四川

浮點數是指浮點數參與的運算,這種運算通常伴隨著因為無法精確表示而進行的近似或舍入。

一個浮點數a由兩個數m和e來表示:a = m × b^e。在任意一個這樣的系統中,我們選擇一個基數b(記數系統的基)和精度p(即使用多少位來儲存)。

m(即尾數)是形如±d.ddd...ddd的p位數(每一位是一個介於0到b-1之間的整數,包括0和b-1)。

如果m的第一位是非0整數,m稱作規格化的。有一些描述使用一個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。

在計算機中表示一個浮點數,其結構如下:

尾數部分(定點小數) 階碼部分(定點整數): 階符±, 階碼e,數符±,尾數m。這種設計可以在某個固定長度的儲存空間內表示定點數無法表示的更大範圍的數。

浮點加法減法運算

設有兩個浮點數x和y,它們分別為

x = mx*2^ex

y = my*2^ey

其中ex和ey分別為數x和y的階碼,mx和my為數x和y的尾數。

兩浮點數進行加法和減法的運算規則是

設 ex小於等於ey,則 x±y = (mx*2^(ex-ey)±my)*2^ey,

完成浮點加減運算的操作過程大體分為四步:

1. 0 運算元的檢查;

2. 比較階碼大小並完成對階;

3. 尾數進行加或減運算;

4. 結果規格化並進行舍入處理。

⑴ 0 運算元檢查

浮點加減運算過程比定點運算過程複雜。如果判知兩個運算元x或y中有一個數為0,即可得知運算結果而沒有必要再進行後續的一系列操作以節省運算時間。0運算元檢查步驟則用來完成這一功能。

⑵ 比較階碼大小並完成對階

兩浮點數進行加減,首先要看兩數的階碼是否相同,即小數點位置是否對齊。若二數階碼相同,表示小數點是對齊的,就可以進行尾數的加減運算。反之,若二數階碼不同,表示小數點位置沒有對齊,此時必須使二數階碼相同,這個過程叫作對階。

要對階,首先應求出兩數階碼ex和ey之差,即△e = ex-ey。

若△e=0,表示兩數階碼相等,即ex=ey;若△e>0,表示ex>ey;若△e<0,表示ex當ex≠ey 時,要通過尾數的移動以改變ex或ey,使之相等。原則上,既可以通過mx移位以改變ex來達到ex=ey,也可以通過my移位以改變ey來實現ex=ey。但是,由於浮點表示的數多是規格化的,尾數左移會引起最高有效位的丟失,造成很大誤差。

尾數右移雖引起最低有效位的丟失,但造成誤差較小。因此,對階操作規定使尾數右移,尾數右移後階碼作相應增加,其數值保持不變。顯然,一個增加後的階碼與另一個階碼相等,增加的階碼的一定是小階。

因此在對階時,總是使小階向大階看齊,即小階的尾數向右移位(相當於小數點左移)每右移一位,其階碼加1,直到兩數的階碼相等為止,右移的位數等於階差△e。

⑶ 尾數求和運算

對階結束後,即可進行尾數的求和運算。不論加法運算還是減法運算,都按加法進行操作,其方法與定點加減法運算完全一樣。

⑷ 結果規格化

在浮點加減運算時,尾數求和的結果也可以得到01.ф…ф或10.ф…ф,即兩符號位不等,這在定點加減法運算中稱為溢位,是不允許的。

但在浮點運算中,它表明尾數求和結果的絕對值大於1,向左破壞了規格化。此時將運算結果右移以實現規格化表示,稱為向右規格化。規則是:

尾數右移1位,階碼加1。當尾數不是1.m時需向左規格化。

⑸ 舍入處理

在對階或向右規格化時,尾數要向右移位,這樣,被右移的尾數的低位部分會被丟掉,從而造成一定誤差,因此要進行舍入處理。

簡單的舍入方法有兩種:一種是"0舍1入"法,即如果右移時被丟掉數位的最高位為0則捨去,為1則將尾數的末位加"1"。另一種是"恆置一"法,即只要數位被移掉,就在尾數的末尾恆置"1"。

在ieee754標準中,舍入處理提供了四種可選方法:

就近舍入其實質就是通常所說的"四捨五入"。例如,尾數超出規定的23位的多餘位數字是10010,多餘位的值超過規定的最低有效位值的一半,故最低有效位應增1。若多餘的5位 是01111,則簡單的截尾即可。

對多餘的5位10000這種特殊情況:若最低有效位現為0,則截 尾;若最低有效位現為1,則向上進一位使其變為 0。

朝0舍入 即朝數軸原點方向舍入,就是簡單的截尾。無論尾數是正數還是負數,截尾都使取值的絕對值比原值的絕對值小。這種方法容易導致誤差積累。

朝+∞舍入 對正數來說,只要多餘位不全為0則向最低有效位進1;對負數來說則是簡單的截尾。

朝-∞舍入 處理方法正好與 朝+∞舍入情況相反。對正數來說,只要多餘位不全為0則簡單截尾;對負數來說,向最低有效位進1。

⑹ 溢位處理

浮點數的溢位是以其階碼溢位表現出來的。在加\減運算過程中要檢查是否產生了溢位:若階碼正常,加(減)運算正常結束;若階碼溢位,則要進行相應處理。另外對尾數的溢位也需要處理。

階碼上溢 超過了階碼可能表示的最大值的正指數值,一般將其認為是+∞和-∞。

階碼下溢 超過了階碼可能表示的最小值的負指數值,一般將其認為是0。

尾數上溢 兩個同符號尾數相加產生了最高位向上的進位,將尾數右移,階碼增1來重新對齊。

尾數下溢 在將尾數右移時,尾數的最低有效位從尾數域右端流出,要進行舍入處理。

將十進位制數5725轉換為二進位制數

57 2 28餘1 28 2 14餘0 14 2 7餘0 7 2 3餘1 3 2 1餘1 1 2 0餘1 從下到上取餘數為111001,0.25 2 0.5取整0 0.5 2 1取整1 最後轉換結果為111001.01 轉換後的結果是 111001.01 十進位制數57.2轉換為二進位制 八進位制 ...

急二進位制數110111轉換為十進位制是多少

二進位制數1101.11轉換為十進位制是13.75,可以按照 按權求和 法進行計算。小數點左邊的,從右往左進行計算。1乘以2的0次方等於1,0乘以2的1次方等於0,1乘以2的2次方等於4,1乘以2的三次方等於8,那麼將得到的結果進行求和得到13,得到十進位制整數。小數點右邊的,從左往右進行計算。1乘...

十進位制數572轉換為二進位制八進位制十六進位制分別是多少

二進位制 1011000111100 八進位制 13074 十六進位制 163c 1.十進位制 二進位制 對於整數部分,用被除數反覆除以2,除第一次外,每次除以2均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。對於小數部分,採用連續乘以基數...