有没有一种简单的方法可以将从流中读取的字节数组转换为双精度值?
InputStream input = serialPort.getInputStream();
while(true) {
byte[] buffer = new byte[ 8 ];
len = input.read( buffer );
}
缓冲区 => 双倍?
你能形象地解释一下 InputStream.read(byte[] b) 的工作原理吗?
有没有一种简单的方法可以将从流中读取的字节数组转换为双精度值?
InputStream input = serialPort.getInputStream();
while(true) {
byte[] buffer = new byte[ 8 ];
len = input.read( buffer );
}
缓冲区 => 双倍?
你能形象地解释一下 InputStream.read(byte[] b) 的工作原理吗?
如果你经常做这样的操作,也许使用DataInputStream会更好,它提供了一组操作,比如 readDouble 等。
DataInputStream input = new DataInputStream(serialPort.getInputStream());
double d = input.readDouble();
InputStream.read(byte[] b)
将下一个字节读入b
参数。
并且,您可以尝试使用DataInputStream来读取 Double、Float、Integer 等。您可以使用以下方法实例化 DataInputStream:
DataInputStream input = new DataInputStream(YOUR_INPUT_STREAM);
尝试使用 DataInputStream ( javadoc ) 包装您的 InputStream 对象并使用 readDouble 方法