zzgzlp
級(jí)別: 略有小成
![]() |
圖片:
![]()
圖片:
![]() 各位朋友,我購(gòu)了一個(gè)儀表,說(shuō)明書(shū)舉例說(shuō)明,讀取的數(shù)據(jù)是43960000是浮點(diǎn)數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)值是300。因?yàn)樾枰↑c(diǎn)數(shù)運(yùn)算,我在三菱FX3U監(jiān)控?cái)?shù)據(jù)時(shí)發(fā)現(xiàn), 發(fā)現(xiàn)300的浮點(diǎn)數(shù)是300.000。怎么會(huì)不一樣呢?! |
---|---|
|
tkggtdkjpl
工欲善其事,必先利其器!
級(jí)別: 網(wǎng)絡(luò)英雄
![]() ![]() |
顯示的16進(jìn)制 ![]() |
|
---|---|---|
|
zzgzlp
級(jí)別: 略有小成
![]() |
你好,大神。你的意思是300.00這個(gè)是十進(jìn)制的浮點(diǎn)數(shù),43960000是它的16進(jìn)制形式,對(duì)吧。那三菱軟件哪個(gè)指令把43960000轉(zhuǎn)換成300.00呢 |
---|---|
|
john42tw
級(jí)別: 網(wǎng)絡(luò)英雄
![]() |
沒(méi)有這個(gè)指令。需自己轉(zhuǎn)換。 給你範(fàn)例 實(shí)數(shù)的解析: PLC中實(shí)數(shù)(浮點(diǎn)數(shù))為2個(gè)D所組成 。 實(shí)數(shù)範(fàn)圍:0,±2-127 ~ ±2129 (±1.175E-38~±3.402E+38) 例 :某浮點(diǎn)數(shù) 2進(jìn)位 = 0100 0010 1010 0010 0000 0000 0000 0000 (十六進(jìn)制 42A20000) 若是以float precision 格式的話(huà) 其中,bit 31 為符號(hào)位元 (sign bit),「0」代表正號(hào),「1」代表負(fù)號(hào)。 bit 23 到 bit 30 為指數(shù)欄位 (exponent field),總共 8 個(gè)位元。這個(gè)欄位使用「excess-127碼」來(lái)儲(chǔ)存以 2 為底的指數(shù),也就是說(shuō),先將真正的指數(shù)再加上 127 之後,才會(huì)存入此欄位中。 例如,若指數(shù)為 0,則將 0+127 = 127。 bit 0 到 bit 22 為尾數(shù)欄位 (mantissa field; 亦稱(chēng)為 significand field; 有效數(shù)欄位、或 fraction field; 小數(shù)欄位),總共 23 個(gè)位元。資料存入這個(gè)欄位之前,需經(jīng)過(guò)正規(guī)化的運(yùn)算。 因此反推~ 0100 0010 1010 0010 0000 0000 0000 0000 符號(hào) 0 => 為正數(shù) (1位元) 0100 0010 1010 0010 0000 0000 0000 0000 指數(shù) 10000101 = 133 133-127=6 (8位元) 0100 0010 1010 0010 0000 0000 0000 0000 尾數(shù)欄位 010 0010 0000 0000 0000 0000 為固定補(bǔ)1=> 1010 0010 0000 0000 0000 0000 (24位元) 啟始值 26 6 為指數(shù),依次遞減。 => 1* 26+0* 25+1* 24+0* 23+ 0* 22+0* 21+1* 20+0* 2-1+0* 2-2+….….. +0* 2-17 (6~ -17共24位元) =1*64+0*32+1*16+0*8+0*4+0*2+1*1+0*(1/2)+0*(1/4)+0*(1/8)…………….. = 64 + 0 + 16 + 0 + 0 + 0 + 1 + 0 + 0 + 0 ……………. = 81 |
---|---|
本帖最近評(píng)分記錄: |