关于Buffer中readFloatBE的疑惑
发布于 6 年前 作者 15757115286 2562 次浏览 来自 问答

在nodejs官网Buffer API中使用函数buf.readFloatBE(offset)的时候产生了一些困惑。困惑点是在于根据官网下面的例子,如下

	const buf = Buffer.from([1, 2, 3, 4]);
	console.log(buf.readFloatBE(0));
	// Prints: 2.387939260590663e-38
	console.log(buf.readFloatLE(0));
	// Prints: 1.539989614439558e-36

相比于buf.readFloatBE,buf.readInt32BE类似于这样的函数的计算还是比较好理解的,请问这两者之间有什么区别吗?

1 回复

没看出你的疑惑在哪 = =,这两个API我没用过,但文档看起来是为了让程序员选择符合自己环境的大小端方法

4bytes的buffer:[0x00, 0x00, 0x00,0x01],用BE读出来是0x00 0x00 0x00 0x01,而用LE对读出来则是0x01 0x00 0x00 0x00,接着你不管是把它转int还是float,值都是有区别的

回到顶部