私は2バイトを得ました:
byte[0]
0000 0000 です
byte[1]
は 1000 0000 です
それらをまとめて1つの浮動小数点値にしたいと思います。したがって、結果は 128 が 10 進数で、0000 0000 1000 0000 が 2 進数であるはずです。先行ゼロのため、負ではありません。
これまでの私の解決策は、次のアプローチです。
float f = (bytes[0] << 8 | bytes[1]);
ただし、これにより、値 f の値がマイナス 128 になります。それは私が推測する2の補数のためです。したがってbyte[1]
、マイナスと解釈されます。byte[0]
の先頭ビットを負/正のビットとして見るにはどうすればよいですか?