3

私は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]の先頭ビットを負/正のビットとして見るにはどうすればよいですか?

4

2 に答える 2