私はをfloat
プリミティブbyte[]
に、またはその逆に変換しようとしています:
public byte[] floatToByteArray(final float value)
{
return new byte[]
{
(byte) (value >> 56),
(byte) (value >> 48),
(byte) (value >> 40),
(byte) (value >> 32),
(byte) (value >> 24),
(byte) (value >> 16),
(byte) (value >> 8),
(byte) (value)
};
}
奇妙なことに、新しく割り当てられたものをに戻そうとするbyte[]
とfloat
、結果はごみに他なりません。
long
ただし、代わりにプリミティブデータ型を引数として使用すると、同じアルゴリズムが正常に機能するように見えます。
public byte[] longToByteArray(final long value)
{
return new byte[]
{
(byte) (value >> 56),
(byte) (value >> 48),
(byte) (value >> 40),
(byte) (value >> 32),
(byte) (value >> 24),
(byte) (value >> 16),
(byte) (value >> 8),
(byte) (value)
};
}