日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

转载--C语言:浮点数在内存中的表示

發(fā)布時間:2023/12/10 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转载--C语言:浮点数在内存中的表示 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

單精度浮點數(shù): 1位符號位?? 8位階碼位?? 23位尾數(shù)

雙精度浮點數(shù): 1位符號位?? 8位階碼位?? 52位尾數(shù)

?

實數(shù)在內(nèi)存中以規(guī)范化的浮點數(shù)存放,包括數(shù)符、階碼、尾數(shù)。數(shù)的精度取決于尾數(shù)的位數(shù)。比如32位機上float型為23位?????? double型為52位。

單精度float型存儲在內(nèi)存中的大小為4個字節(jié),即32位。

浮點表示的一般形式為:R=M*2^e (R:Real?????? M:Mantissa尾數(shù)??? ?e:exponent階碼)

把上面float的二進制可分成三部分:

?? x????????????????? ?xxxxxxxx???????????? xxxxxxxxxxxxxxxxxxxxxxx

數(shù)符(1b)???????? 階碼(8b)???????? 尾數(shù)(23b)

double型的浮點數(shù)分別是:數(shù)符(1b)、階碼(8b)、尾數(shù)(52b)

數(shù)符sign:real的正負號??? ?"+":0??????? "-":1

階碼e:e=E-127(double型中e=E-1023) e為正值說明這個浮點數(shù)向左移動了e位, e為負值說明這個浮點數(shù)向右移動了e位。127=2^7-1 1023=2^10-1

尾數(shù)M:有效數(shù)字位,這里是有效數(shù)字位的部分二進制碼

例1:float型浮點數(shù)125.5轉(zhuǎn)化成32位二進制浮點數(shù)

125.5的二進制碼為1111101.1,寫成二進制的科學計數(shù)為:1.1111011*2^6(因為科學計數(shù)法“整數(shù)”部分大于1,在二進制中,“整數(shù)”部分只能恒為1)即向左移6位,則e=6,則E=e+127=133,而E的二進制碼為10000101,而1.1111011把“整數(shù)”部分去除1之后為1111011,之后補0,共23b,形成了階碼。

所以125.5的32位二進制浮點數(shù)為

0 10000101 11110110000000000000000

例2:float型浮點數(shù)0.5轉(zhuǎn)化成32位二進制浮點數(shù)

0.5的二進制碼為0.1,寫成二進制的科學計數(shù)為:1.0*2^(-1)即向右移1位,則e=-1,則E=e+127=126,而E的二進制碼為01111110,而1.0把“整數(shù)”部分去除1之后為0,之后補0,形成了階碼。

?

所以0.5的32位二進制浮點數(shù)為

0 01111110 00000000000000000000000

double型浮點數(shù)類似。

例3:32位二進制浮點數(shù)為0 10000010 00010000000000000000000轉(zhuǎn)化成十進制數(shù)浮點數(shù)

題中已給我們分了三部分,數(shù)符部分、階碼部分、尾數(shù)部分。

數(shù)符部分為0,則代表此數(shù)為正數(shù);階碼部分為10000010,則E=130,則e=E-127=3,則說明其向左移了3位,0001加上“整數(shù)”部分的1之后,為1.0001。則原二進制數(shù)為1000.1=十進制8.5,或R=1.0001*2^3=8.5

其中很多計算類似。可舉一反三!

轉(zhuǎn)載于:https://www.cnblogs.com/ivorfeng/archive/2013/04/04/2999220.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的转载--C语言:浮点数在内存中的表示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。