double
aまたは aの単一ビット (または変数全体) を取得するにはどうすればよいfloat
ですか?
たとえば、float a = 0.5; があるとします。
私は次のように期待String
します:
"00111111000000000000000000000000"
または16進数で:
"F000000"
double
aまたは aの単一ビット (または変数全体) を取得するにはどうすればよいfloat
ですか?
たとえば、float a = 0.5; があるとします。
私は次のように期待String
します:
"00111111000000000000000000000000"
または16進数で:
"F000000"
long bits = Double.doubleToLongBits(myDouble);
System.out.println(Long.toBinaryString(bits));
を見てください Float.floatToIntBits() or Float.floatToRawIntBits()
。これにより、ビットが int として取得されます。文字列として必要な場合は、Integer.toBinaryString()
.
HSB がオンの場合、問題が発生する可能性があることに注意してください。「オーバーフロー」を回避するために long に変換する必要がある場合があります。
Double.byteValue()
あなたを助けるかもしれません。
32 ビット版もありFloat.byteValue()
ます。