首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么readBigInt64BE返回的数字不等于它的原始十六进制值?

为什么readBigInt64BE返回的数字不等于它的原始十六进制值?
EN

Stack Overflow用户
提问于 2020-04-16 07:16:58
回答 1查看 131关注 0票数 0

我有以下缓冲区:

代码语言:javascript
运行
复制
<Buffer bf 58 e6 c6 00 8f fd 32 84 0f d1 d4 bd 7f ba 95 fa f1 b0 af cf 2a 54 43 49 f5 0f 42 e6 c3 60 e2 a5 1b 05 61 30 3a 75 50 42 60 ff ff 2e 57 d7 1f 8a da ... 269 more bytes>

为什么下面的内容不相等呢?

代码语言:javascript
运行
复制
0xbf58e6c6008ffd32 //13788023997282124000
Number(buffer.readBigInt64BE(0)) // -4658720076427429000

不出所料,小端版本也会返回另一个数字:

代码语言:javascript
运行
复制
Number(buffer.readBigInt64LE(0)) // 3674250104503949300
EN

Stack Overflow用户

回答已采纳

发布于 2020-04-16 08:31:57

0xbf58e6c6008ffd32被认为是一个无符号整数(为什么,我不知道,我也需要弄清楚),所以我需要读取一个大的无符号64位整数(readBigUInt64BE而不是readBigInt64BE)。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61240159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档