john42tw
級別: 網絡英雄
|
PLC中實數(浮點數)為2個D所組成 。 實數範圍:0,±2-127 ~ ±2129 (±1.175E-38~±3.402E+38) 例 :某浮點數 2進位 = 0100 0010 1010 0010 0000 0000 0000 0000 若是以float precision 格式的話 其中,bit 31 為符號位元 (sign bit),「0」代表正號,「1」代表負號。 bit 23 到 bit 30 為指數欄位 (exponent field),總共 8 個位元。這個欄位使用「excess-127碼」來儲存以 2 為底的指數,也就是說,先將真正的指數再加上 127 之後,才會存入此欄位中。 例如,若指數為 0,則將 0+127 = 127。 bit 0 到 bit 22 為尾數欄位 (mantissa field; 亦稱為 significand field; 有效數欄位、或 fraction field; 小數欄位),總共 23 個位元。資料存入這個欄位之前,需經過正規化的運算。 因此反推~ 0100 0010 1010 0010 0000 0000 0000 0000 符號 0 => 為正數 0100 0010 1 010 0010 0000 0000 0000 0000 指數 10000101 = 133 133-127=6 0100 0010 1010 0010 0000 0000 0000 0000 尾數欄位 010 0010 0000 0000 0000 0000 為固定補1=> 1010 0010 0000 0000 0000 0000 => 1* 26+0* 25+1* 24+0* 23+ 0* 22+0* 21+1* 20+0* 2-1+0* 2-2+….….. +0* 2-25 (6~ -25共32位) =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 [ 此帖被john42tw在2014-07-21 13:03重新編輯 ] |
---|---|
|