怎樣將十進位制數轉化成規格化浮點數

時間 2022-07-25 18:40:06

1樓:華眼視天下

乙個規格化的32位浮點數x的真值表示為:x=(-1)ˇs×(1.m)×2ˇ(e-127) e=e-127,

其中s是浮點數的符號位,佔1位。m是尾數,放在低位部分,占用23位,小數點位置放在尾數域最左(最高)有效位的右邊。e是階碼,占用8位。

它的尾數域所表示的值是1.m。e為實際指數。

因為規格化浮點數的尾數域最左位(最高有效位)總是1,故這一位經常不予儲存,而認為隱藏在小數點的左邊。

64位的浮點數中符號位1位,階碼域11位,尾數域52位,指數偏移值是1023.因此規格化的64位浮點數x的真值為

x=(-1)ˇs×(1.m)×2ˇ(e-1023) e=e-1023

格式化浮點數簡介:

格式化浮點數又稱格式化輸出,是指把乙個浮點數按指定的格式進行轉換。通常在報表統計展示、資料計算儲存時需要格式化,常用的格式化函式有:format,cast等。

2樓:匿名使用者

對於數n,先化成n=((-1)^s)*(1.x)*(2^k),對於0、無窮等特殊數在浮點數裡由特殊的格式表示。

然後把s、x、k就填到相應位置就可以了。例如12=((-1)^0)*(1.5)*(2^3),那麼s=0,x=5,k=3。

至於s、x、k放到**就要看你的浮點數遵循那個規則。

其實如果是一般cpu支援的浮點數格式的話,可以直接叫cpu來轉換。

對於高階語言就直接型別轉換,彙編的話就用fild和fst(p)指令

十進位制數轉化為二進位制規格化浮點數

3樓:匿名使用者

(1)轉換成二進位制數,再規格化:-0.1953125d=-0.0011001b=-0.11001*2^(-2)

注:規格化只需將二進位制數寫成尾數為0.1*****(即0.1開頭)此種格式即可。

(2)階碼為-2,用3位二進位制表示為-010b(注:前面補0),求出補碼為1110。方法略,不懂自己看書。

(3)7位尾數為-0.1100100(注:後面補0),求出補碼為10011100。

(4)規格化浮點數形式為:階碼+尾數,即為1110 1001 1100,轉換為十拉進製為e9c。

做題要歸納方法,希望對你有用。

13.將十進位制數-0.421875轉換成ieee-754標準的32位浮點規格化數(用十六進製制表示),要求給出具體過程。

4樓:匿名使用者

首先分別將十進位制數轉換成二進位制數:(-0.421875)10=-0.

011011然後移動小數點,使其在第1,2位之間-0.011011=-1.1011×2-2     e=-2於是得到:

s=1,   e=-2+127=125,    m=1011最後得到32位浮點數的二進位制儲存格式為:1 011 1110 1 101 1000 0000 00000000 0000 = (bed80000)16

十進位制數-27/64表示成規格化浮點數是

5樓:12345額時代

十進位制數-27/64表示成規格化浮點數是-27/64,操作方法如下:

1、首先正整數的原碼,反碼和補碼計算。

2、【符號位為0,原碼=反碼=補碼】,如圖。

3、負整數的原碼,反碼和補碼計算。

4、先求原碼,再求反碼,最後求補碼,如圖所示。

5、根據補碼求真值,一般使用圖中的公式計算,正整數符號為+,負整數符號為-,通常完成補碼求真後,可以按上述步驟簡單的逆推一下,看結果是否正確。

單精度浮點數和十進位制怎麼轉換

6樓:匿名使用者

強制型別轉換(int)tag1

7樓:南霸天

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

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,所以,該數是負數)

將十進位制數-27/64表示成ieee754標準的32位浮點規格化數

8樓:我是乙個麻瓜啊

答案: 0 01111101 10110000000000000000000

步驟:第一,先轉換為二進位制數,第二,轉化為規格化數,第三,按1   8  23 轉化

27/64=0.421875用二進位制數表示為 0.011011 = 1.1011 × e^(-2)

e=e+127=125 用二進位制數表示為 01111101

m=1011

s=0sem 即 : 0 01111101 10110000000000000000000

擴充套件例子:將十進位制數11.375表示為754標準儲存格式(就是上文提到的一種規格化浮點數的國際標準)

11.375=+1011.011=+(1.011011)×2ˇ3=(-1)ˇs×(1.m)×2ˇe

可知s=0,包括隱藏位1的尾數1.m=1.011011=1.011 0110 0000 0000 0000 0000 e=3

e=e+127=130=011+01111111=10000010

則二進位制數格式為

0 1000 0010 0110 1100 0000 0000 0000 0000

s 階碼(8位) 尾數(23位)

擴充套件資料

格式化浮點數又稱格式化輸出,是指把乙個浮點數按指定的格式進行轉換。通常在報表統計展示、資料計算儲存時需要格式化,常用的格式化函式有:format,cast等。

9樓:澄睿哲

1.分子化成二進位制,作為整數部分,分母化成2的n次方原式=-11011b×2^-6

2.分子化成科學記數法

=1.1011×2^4×2^-6=-1.1011×2^-23.這個時候得出:符號位負數~s=『1』

m=1011 e=-2

4.八位階碼有:

e=127+(-2)=125=01111101b5.十六轉三十二為8位,少的補零

1011 1110 1101 1000

=b e d 8

補零成8位

最終答案:b e d 8 0 0 0 0

10樓:匿名使用者

⑴ 27/64 ⑵ – 27/6427/64=0.011011=1.1011*2-2⑴ 0 01111101 10110000000000000000000

⑵ 1 01111101 10110000000000000000000

如何把十進位制數化為32位單精度浮點數

11樓:匿名使用者

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

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,所以,該數是負數)

0 675轉化成二進位制數是多少,十進位制下的0 675轉化為二進位制,最終結果是?

二進位制小數位精度保留七位,十進位制數0.675轉換成二進位制就是0.1010110,小數轉換是採用的是 乘2取整,順序排列 法。具體計算過程 0.675乘以2等於1.35 取整1,0.35乘以2等於0.7 取整0,0.7乘以2等於1.4 取整1,0.乘以2等於0.8 取整0,0.8乘以2等於1.6...

二進位制數 10100110 轉化為十進位制數是多少?

1x2的7次方 1x2的5次方 1x2的2次方 1x2的1次方 128 32 4 2 168 二進位制數 10100110 分別用十進位制數,十六進製制數表示 1111000二進位制轉化為十進位制是多少 1111000二進位制轉化為十進位制是120.在電腦上使用計算機將二進位制轉換為十進位制的具體操...

將二進位制數101101(2)化為十進位制數,結果為

對於多位二進位制數,為了提高計算效率,最好的方法就是先轉為十六進製制數再轉成十進位制數,十六進製制數與二進位制數的轉換關係為1譯4,所以要比按二進位制位轉換更有效率。2d 16 將二進位制數101 101 2 化為十進位制結果為 再將該數化為八進位制數為 解 101 101 2 1 25 0 24 ...