私はLabviewでSPSから読み込み中に取得するデータ型に関する問題があります。Labview interprete number as float
私は、これらの値は、SPSにおける型REALであるとしてfloat値としてinterpreteする必要がS7Read_VIのうち32ビット整数値の1次元配列を得ます。
Labviewで表示される番号は1131655987
で、これは243.7(floatと解釈された場合)となっています。
s7Read_VIもタイプREAL自体の読み取りを提供しますが、何らかの形でこれは機能しません(一部の同僚もその問題に気付きました)。
私はlabviewでこれらの数字(1131655987
)を浮動小数点数として解釈しようとしていますが、これまでは有効な解決法が提示されていませんでした。
浮動小数点数として10進数をどのように補間することができますか?画像に示されているSGLのような変換は、numnerが既に浮動小数点として表示されているので、私は信じられません。
敬具、私はDWORDへREALからSPSにデータ型を変えた私の問題を解決するためにやった jonnyx
「1131655987」は32ビット整数です。値(32ビット)を32ビット浮動小数点として解釈すると、実際には '243.7'が得られます(私はこれをチェックしました)。私はどのようにあなたがLabviewで浮動小数点数にこのような整数を投げることができるか分かりません。パスカルでは、 'IntValue:= 1131655987; myFloat:= PSingle(@Intvalue)^; '、C言語(おそらくUBですが):' int invalue = 1131655987; flood myfloat = *((float *)(void *)&intvalue); –
ええ、驚いたことに、 '1131655987'は16進数で' 4373B333'です。これはfloatコンバーターで渡すことができます。 [link](https://www.h-schmidt.net/FloatConverter/IEEE754de.html) – jonnyx