我們日常使用的各類數據,都是以二進制的方式存儲的。以浮點數為例,在PLC中其表示方式使用了IEEE 754標準。許多編程語言中浮點數的實現也遵循該標準。
IEEE 754提供了很多規范,下面我們了解一下其中的常規單精度浮點數表示方法:
● 符號位S:0代表正數,1代表負數;
● 指數位E:表示小數點的位置,直接影響數的大小。為表示方便,該指數加了一個固定偏移量,即:
指數位E = 指數實際值 + 127
● 有效數字M:也稱為尾數位。將浮點數表示為二進制數后進行規范化,隱藏高位1,剩余的小數部分,低位補0。
以123.45為例:
與PLC中的數據一致
以上是常規浮點數的二進制表示方式,此外還有一些特殊的數:±∞、趨于0的數等。二進制的表示方法也涉及精度方面的問題。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
plc
+關注
關注
5016文章
13387瀏覽量
465392 -
數據
+關注
關注
8文章
7139瀏覽量
89576 -
存儲
+關注
關注
13文章
4353瀏覽量
86169 -
二進制
+關注
關注
2文章
796瀏覽量
41757 -
浮點數
+關注
關注
0文章
61瀏覽量
15909
發布評論請先 登錄
相關推薦
嵌入式工程師,別怪"浮點數"太坑!(C語言版本)
:+/-)1.(二進制尾數)*2^(指數=實際指數+偏移量) 對于這幾個名詞不是特別好解釋,結合實際轉化過程會更加好理解:(這里以float型浮點數:4.25為例子,如下轉化示意圖) · 對于小數部分
發表于 05-06 10:51
matlab中浮點復數轉化為fpga中二進制的問題
每一個元素都是復數,類似這樣的-59.4184087630243-2.62712122987465i。 小弟想實現這個Levinsondurbin的功能仿真,首先把向量實部虛部給導入,該怎么操作這樣的浮點數變成有符號的二進制表示呢。
發表于 07-21 16:10
浮點數轉換為二進制存儲的方法
浮點數轉換為二進制存儲根據IEEE754標準,單精度float類型使用32比特存儲,其中1位表示符號,8位表示指數,23位表示尾數;雙精度d
發表于 12-09 06:09
浮點數在內存中的存儲
浮點數在內存中的存儲和整數不同,因為整數都可以轉換為一一對應的二進制數據。而浮點數的存儲是由符號位 (sign) + 指數位 (exponent) + 小數位 (fraction) 組
三菱PLC浮點數運算指令
二進制浮點數比較指令ECMP(FNC110) DECMP(P)指令的使用如圖1所示,將兩個源操作數進行比較,比較結果反映在目標操作數中。如果操作數為常數則自動轉換成二進制
發表于 03-23 14:14
?1.7w次閱讀
浮點數轉換為二進制存儲
浮點數轉換為二進制存儲根據IEEE754標準,單精度float類型使用32比特存儲,其中1位表示符號,8位表示指數,23位表示尾數;雙精度d
發表于 11-26 11:21
?52次下載
定點數和浮點數的概念 浮點數二進制序列與指數表達式之間的轉化
的缺點:由于小數點位置固定不變,定點數所表示的數的范圍非常有限,不能同時表達特別大或特別小的數,所以才出現了浮點數,以此來擴充數的范圍,同時浮點數也廣泛應用于精度要求高的場合。簡單的理
modbus浮點數怎么讀取
常重要的。 首先,要理解Modbus浮點數的表示方式。在Modbus協議中,浮點數采用了IEEE 754標準進行編碼和解碼。IEEE 754標準定義了
評論