8

doubleaまたは aの単一ビット (または変数全体) を取得するにはどうすればよいfloatですか?

たとえば、float a = 0.5; があるとします。

私は次のように期待Stringします:
"00111111000000000000000000000000"

または16進数で:
"F000000"

4

4 に答える 4

13
long bits = Double.doubleToLongBits(myDouble);
System.out.println(Long.toBinaryString(bits));
于 2012-05-17T21:31:37.107 に答える
4

を見てください Float.floatToIntBits() or Float.floatToRawIntBits()。これにより、ビットが int として取得されます。文字列として必要な場合は、Integer.toBinaryString().

HSB がオンの場合、問題が発生する可能性があることに注意してください。「オーバーフロー」を回避するために long に変換する必要がある場合があります。

于 2012-05-17T21:30:35.803 に答える
-2

Double.byteValue()あなたを助けるかもしれません。

32 ビット版もありFloat.byteValue()ます。

于 2012-05-17T21:27:30.203 に答える