簡體   English   中英

我正在從 PLC 的 32 位 memory 區域讀取浮點值作為(它們將是)Integer 值。 如何將此 Integer 轉換為 C# 中的 Single?

[英]I am reading floating point values from a PLC's 32 bit memory area as (they would be) Integer values. How can I convert this Integer to Single in C#?

在此處輸入圖像描述 我正在使用 c# 代碼從 S7-300 PLC 讀取值。 當值是 INT 格式時,沒有問題。 但是有一些 32 位 memory 區域(雙字)以 IEEE 754 浮點標准編碼。 (第一位是符號位,接下來的 8 位是指數,剩下的 23 位尾數)我只能從 PLC 中讀出這個 memory 區域作為 Int32 (因為它們是整數)。

如何將其作為 integer 讀取值轉換為 C# 中的單個實數值,同時尊重雙字中的 IEEE 754 浮點編碼?

它與 Eldar 的回答一樣有效。 如果您將 32 位浮點值讀取為位,則只需將其轉換為:再次感謝 Eldar :-)

var finalSingle=BitConverter.ToSingle(BitConverter.GetBytes(s7Int))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM