Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过移位位将浮点存储在字节数组中_Java - Fatal编程技术网

Java 如何通过移位位将浮点存储在字节数组中

Java 如何通过移位位将浮点存储在字节数组中,java,Java,我可以使用以下方法将int值存储在大小为4的字节数组中: byte[] toByteArray(int value) { return new byte[] { (byte) (value >> 24), (byte) (value >> 16), (byte) (value >> 8), (byte) value}; } 如何使用位移位将

我可以使用以下方法将int值存储在大小为4的字节数组中:

byte[] toByteArray(int value) {
        return new byte[] {
            (byte) (value >> 24),
            (byte) (value >> 16),
            (byte) (value >> 8),
            (byte) value};
    }
如何使用位移位将浮点存储在字节数组中?

您应该使用:获取浮点的原始表示,然后将返回的
int
转换为
字节[]

要读回浮点,请使用

您应该使用:获取浮点的原始表示,然后将返回的
int
转换为
字节[]

要读回浮点,请使用

记住。您可以使用
ByteBuffer
存储
浮点值
,并为您提供字节数组

public byte[] toByteArray(float value) {    
    ByteBuffer buffer = ByteBuffer.allocate(4);
    buffer.putFloat(value);
    return buffer.array();
}
在内部,它使用了
Bits
类,该类执行的操作与您使用
toByteArray(int)
方法执行的操作类似。您可以使用
ByteBuffer
存储
浮点值
,并为您提供字节数组

public byte[] toByteArray(float value) {    
    ByteBuffer buffer = ByteBuffer.allocate(4);
    buffer.putFloat(value);
    return buffer.array();
}
在内部,它使用了
Bits
类,该类的功能与您使用
toByteArray(int)
方法所做的类似