如何轉換浮點數的二進位制格式為十進位制

時間 2021-05-02 20:17:08

1樓:隨便什麼名啦啦

二進位制的小數轉換為十進位制主要是乘以2的負次方,從小數點後開始,依次乘以2的負一次方,2的負二次方,2的負三次方等。

例如:二進位制數0.001轉換為十進位制。

第一位為0,則0*1/2,即0乘以2負一次方。

第二位為0,則0*1/4,即0乘以2的負二次方。

第三位為1,則1*1/8,即1乘以2的負三次方。

各個位上乘完之後,相加,0*1/2+0*1/4+1*1/8得十進位制的0.125

擴充套件資料:

二進位制轉換為十進位制:

方法:「按權求和」,該方法的具體步驟是先將二迸制的數寫成加權係數式,而後根據十進位制的加法規則進行求和。

規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。

十進位制轉換為二進位制:

乙個十進位制數轉換為二進位制數要分整數部分和小數部分分別轉換,最後再組合到一起。

整數部分採用 "除2取餘,逆序排列"法。具體做法是:用2整除十進位制整數,可以得到乙個商和餘數;再用2去除商,又會得到乙個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來 。

小數部分要使用「乘 2 取整法」。即用十進位制的小數乘以 2 並取走結果的整數(必是 0 或 1),然後再用剩下的小數重複剛才的步驟,直到剩餘的小數為 0 時停止,最後將每次得到的整數部分按先後順序從左到右排列即得到所對應二進位制小數。

通用進製轉換:

不同進製之間的轉換本質就是確定各個不同權值位置上的數碼。轉換正整數的進製的有乙個簡單演算法,就是通過用目標基數作長除法;餘數給出從最低位開始的「數字」。

2樓:超級一起的回憶

單精度浮點數轉換十進位制步驟:

1、分割數字的符號、階碼和有效數字;

2、將偏移階碼減去偏移,得到真正的階碼;

3、把數字寫成規格化的二進位制數形式;

4、把規格化的二進位制數改變成非規格化的二進位制數;

5、把非規格化的二進位制數轉換成十進位制數。

單精度浮點數轉換十進位制舉例:

把協處理器中的浮點數1100000111001001000000000000轉換成十進位制數

解:1、把浮點數1100000111001001000000000000分割成三部分,可得:

符號位是1,階碼是10000011,尾數是1001001000000000000

2、還原階碼:10000011 – 01111111=100

3、該浮點數的規格化形式:1.1001001×24    (其中前面的「1.」從隱含位而來)

4、該浮點數的非規格化形式:11001.001

5、該浮點數的十進位制數為-25.125        (因為符號位為1,所以,該數是負數)

如何轉換浮點數的二進位制格式為十進位制

3樓:斐薄漢荷

單精度浮點數轉換十進位制步驟:

1、分割數字的符號、階碼和有效數字;

2、將偏移階碼減去偏移,得到真正的階碼;

3、把數字寫成規格化的二進位制數形式;

4、把規格化的二進位制數改變成非規格化的二進位制數;

5、把非規格化的二進位制數轉換成十進位制數。

單精度浮點數轉換十進位制舉例:

把協處理器中的浮點數1100000111001001000000000000轉換成十進位制數

解:1、把浮點數1100000111001001000000000000分割成三部分,可得:

符號位是1,階碼是10000011,尾數是1001001000000000000

2、還原階碼:10000011

–01111111=100

3、該浮點數的規格化形式:1.1001001×24    (其中前面的「1.」從隱含位而來)

4、該浮點數的非規格化形式:11001.001

5、該浮點數的十進位制數為-25.125        (因為符號位為1,所以,該數是負數)

4樓:營韶美萊採

r進製轉換成十進位制:基數為r的數字,只要將各個數字與它的權相乘,其積相加,和數就是十進位制數。例如:

110.0101=1*2^2+1*2^1+0*2^0+0*2^(-1)+1*2^(-2)+0*2^(-3)+1*2^(-4)=6.3125

0.1=0*2^0+1*2^(-1)=0.50.

01=0*2^0+0*2^(-1)+1*2^(-2)=0.25其中,*表示乘號,^表示冪(如:2^2表示2的二次方)。

乘號前面的數字就是二進位制的各個數,2的冪是整數部分從低位起由0到n-1,小數從高位起由(-1)到(-n),n分別表示整數部分和小數部分的位數。

慢慢琢磨下,希望對你有幫助。

浮點數轉換為二進位制,小數部分怎麼轉換?

5樓:匿名使用者

乘2取整法,即每一步將十進位制小數部分乘以2,所得積的小數點左邊的數字(0或1)作為二進位制表示法中的數字,直到滿足你的精確度為止。

轉換過程:

0.874的轉換過程(取精度為6位):

0.874*2=1.748 小數點左邊為 10.

748*2=1.496 小數點左邊為 10.496*2=0.

992 小數點左邊為 00.992*2=1.984 小數點左邊為 10.

984*2=1.968 小數點左邊為 10.968*2=1.

936 小數點左邊為 1十進位制:123.874 二進位制:

1111011.110111

浮點數轉換為二進位制,小數部分怎麼轉換?

6樓:冠卿雲姚旭

結果保留整數部分,小數部分繼續乘以2,直到到達精度或者小數部分變成0象(0.25)10=(0.01)2

7樓:雋靖柔岑縱

乘2取整法,即每一步將十進位制小數部分乘以2,所得積的小數點左邊的數字(0或1)作為二進位制表示法中的數字,直到滿足你的精確度為止。

轉換過程:

0.874的轉換過程(取精度為6位):

0.874*2=1.748

小數點左邊為

1 0.748*2=1.496

小數點左邊為

1 0.496*2=0.992

小數點左邊為

0 0.992*2=1.984

小數點左邊為

1 0.984*2=1.968

小數點左邊為

1 0.968*2=1.936

小數點左邊為

1 十進位制:123.874

二進位制:1111011.110111

浮點數的精度和範圍區別是什麼,浮點數所能表示的數值範圍和精度取決於什麼

牽青芬所己 它們在記憶體中所佔的位元組不同,乙個是4位元組,乙個是8位元組,因此表示的有效位數,雙精度比單精度要大得多!上面說的是一般的c語言,如果是微控制器等,依不同的情況有所不同,如pic16微控制器有的是單精度為3位元組,雙精度為4位元組。 柏蘭雀俏 區別如下 浮點數的取值範圍由階碼的位數決定...

c語言如何把整型轉換成浮點數,C語言如何把整型轉換成浮點數?

程式猿3號 c語言有以下幾種取整方法 1 直接賦值給整數變數。如 int i 2.5 或 i int 2.5 這種方法採用的是捨去小數部分,能用於你的問題。2 c c 中的整數除法運算子 本身就有取整功能 int int 而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,...

浮點數強制轉換成整型為什麼只取整數部分

float f 3.6712 int i,j i int f 取整 只保留整數部分 這個是c語言規定,沒有什麼好解釋的。j int f 0.5 四捨五入 浮點數可以儲存小數部分,整數只能儲存整數,float a 0.123 int b 0 b int a 這樣整型變數只能取a的整數部分,如果你想把浮...