浮點(diǎn)數(shù),是屬于有理數(shù)中某特定子集的數(shù)的數(shù)字表示,在計(jì)算機(jī)中用以近似表示任意某個(gè)實(shí)數(shù)。具體的說(shuō),這個(gè)實(shí)數(shù)由一個(gè)整數(shù)或定點(diǎn)數(shù)(即尾數(shù))乘以某個(gè)基數(shù)(計(jì)算機(jī)中通常是2)的整數(shù)次冪得到,這種表示方法類似于基數(shù)為10的科學(xué)計(jì)數(shù)法。
1 、浮點(diǎn)數(shù)基礎(chǔ)知識(shí)

浮點(diǎn)數(shù)由四部分構(gòu)成:符號(hào)位(Sign Bit)、尾數(shù)(Mantissa)、基數(shù)(Radix)和指數(shù)(Exponent)。根據(jù)《IEEE Standard 754 for Binary Floating-Point Arithmetic》的定義–二進(jìn)制標(biāo)準(zhǔn)浮點(diǎn)數(shù),基數(shù)為2。s、m、e分別為符號(hào)數(shù)、尾數(shù)和指數(shù),n為相應(yīng)的浮點(diǎn)數(shù)值。

IEEE-754規(guī)定了三種浮點(diǎn)數(shù):?jiǎn)尉龋╢loat)、雙精度(double)和擴(kuò)展精度。
其中單精度為32bit,其中包含1位符號(hào)位S,8位指數(shù)位E和23位尾數(shù)位M。S、E、M為相應(yīng)的二進(jìn)制序列。

S:
正數(shù) 0.1xxxxxx
負(fù)數(shù) 1.1xxxxxx
M:
表示小數(shù)點(diǎn)之后的二進(jìn)制尾數(shù)。
M為0110表示:二進(jìn)制.0110
E:
規(guī)格化(normalized)
非規(guī)格化(denormalized)
2 、規(guī)格化浮點(diǎn)數(shù)
E表示的二進(jìn)制不全為0也不全為1時(shí)該浮點(diǎn)數(shù)為規(guī)格化浮點(diǎn)數(shù)。

e表示偏置(Biased)
|E|表示E的二進(jìn)制整數(shù)
bias表示偏置
k為指數(shù)位寬
對(duì)于單精度浮點(diǎn)數(shù)來(lái)說(shuō)k為8,所以bias為127。E=“10001000”為例,|E|=136,故e為9。
對(duì)于規(guī)格化浮點(diǎn)數(shù),標(biāo)準(zhǔn)規(guī)定尾數(shù)位小數(shù)點(diǎn)左側(cè)的隱含位為1,所以:
m = |1.M|
例如M=“10010…0”則1.M=“1.10010…0”所以m=1.5625

s=0
m = 1.5625
e =9
n =55.5112
單精度浮點(diǎn)數(shù)的公式可表示為:

3、非規(guī)格化浮點(diǎn)數(shù)
E的二進(jìn)制位全為0時(shí)該浮點(diǎn)數(shù)為非規(guī)格化浮點(diǎn)數(shù)。
bias=127

單精度非規(guī)格化浮點(diǎn)數(shù)公式:

-0.0 符號(hào)位為1,其余位為0.
+0.0全部為0.
4、特殊數(shù)值
E的二進(jìn)制位全為1時(shí)為特殊數(shù)值。
M全0,n無(wú)窮大
M全1,S為1,n負(fù)無(wú)窮大
M全1,S為0,n正無(wú)窮大
M不全為0和1,n NaN(Not a Number)

5 、雙精度浮點(diǎn)數(shù)
IEEE-754定義雙精度浮點(diǎn)數(shù)共64bit 。1位符號(hào)位S,11位指數(shù)位E和52位尾數(shù)位M。同樣可以劃分為規(guī)格化、非規(guī)格化和特殊數(shù)值。


-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7764瀏覽量
92688 -
浮點(diǎn)數(shù)
+關(guān)注
關(guān)注
0文章
62瀏覽量
16354
發(fā)布評(píng)論請(qǐng)先 登錄
使用VScode的PIO開(kāi)發(fā)GD32VF103,但是串口無(wú)法打印浮點(diǎn)數(shù)怎么解決?
定點(diǎn)數(shù)表示實(shí)數(shù)的方法以及定點(diǎn)數(shù)在硬件上的運(yùn)算驗(yàn)證
E203添加浮點(diǎn)數(shù)方法:譯碼和派遣模塊設(shè)計(jì)
E203添加浮點(diǎn)數(shù)方法:FPU控制邏輯
蜂鳥(niǎo)E203擴(kuò)展浮點(diǎn)指令設(shè)計(jì)(1)
浮點(diǎn)數(shù)是如何實(shí)現(xiàn)開(kāi)平方運(yùn)算的
浮點(diǎn)數(shù)指令添加——長(zhǎng)指令寫回仲裁
risc-v中浮點(diǎn)運(yùn)算單元的使用及其設(shè)計(jì)考慮
大彩講堂:VisualHMI-LUA教程-獲取設(shè)置單精度浮點(diǎn)數(shù)函數(shù)的應(yīng)用
想在bsp工程打印浮點(diǎn)數(shù),結(jié)果找不到rt_vsnprintf_full軟件包,怎么解決?
PRINTF函數(shù)無(wú)法打印出浮點(diǎn)數(shù)內(nèi)容是為什么?
設(shè)計(jì)了一個(gè)基于浮點(diǎn)數(shù)運(yùn)算的協(xié)處理器,使用C語(yǔ)言編程時(shí)沒(méi)法輸入float型數(shù)據(jù),請(qǐng)問(wèn)有哪些部分需要修改?
labview數(shù)據(jù)類型與PLC 數(shù)據(jù)類型之間的轉(zhuǎn)換(來(lái)自于寫入浮點(diǎn)數(shù)到匯川 PLC中的數(shù)據(jù)轉(zhuǎn)換關(guān)鍵的修改)
西門子TIA Portal如何比較兩個(gè)浮點(diǎn)數(shù)相等

浮點(diǎn)數(shù)基礎(chǔ)知識(shí)科普
評(píng)論