我有一個關於從SPS與Labview讀取數據類型時遇到的問題。Labview將編號解釋爲浮點數
我得到32位整數值的一維數組出S7Read_VI我有那些值是在SPS類型REAL來interprete作爲浮點值。
Labview顯示我這樣的數字:1131655987
這應該是243.7(當解釋爲浮點數時)。
s7Read_VI也提供REAL類型的讀取,但不知何故,這是行不通的(有些同事也注意到了這個問題)。
我現在試圖將這些數字(1131655987
)解釋爲labview中的浮點數,並且到目前爲止還沒有提出有效的解決方案。
是否和我有一個想法如何我可以將一個十進制數解釋爲一個浮點數?像圖片中所示的SGL轉換,我相信沒有意義,因爲numner已經浮動並且只顯示爲十進制。
最好的問候, jonnyx
'1131655987'是一個32位整數。如果你將這個值(32位)解釋爲一個32位的浮點數,你確實會得到'243.7'(我剛剛檢查過這個)。不過,我不知道如何將這樣一個整數放在Labview中。在帕斯卡,這將是'IntValue:= 1131655987; myFloat:= PSingle(@Intvalue)^;',在C中(可能是UB,雖然):'int invalue = 1131655987; float'myfloat = *((float *)(void *)&intvalue);' –
是的,對於那些想知道的人,'1131655987'是十六進制的'4373B333',你可以通過一個浮點轉換器在網上找到,例如: [鏈接](https://www.h-schmidt.net/FloatConverter/IEEE754de.html) – jonnyx