为了账号安全,请及时绑定邮箱和手机立即绑定

Go 和 Javascript 关于 0xFFFFFFFF 的区别是什么^ 97

Go 和 Javascript 关于 0xFFFFFFFF 的区别是什么^ 97

Go
慕妹3146593 2023-06-26 16:36:30
我想将 Go 代码更改为 Javascript 代码,但是 Go 和 Javascript 之间的结果存在一个不同的错误。我想将 javascript 的结果更改为与 Go 的结果相同 (0xFFFFFFFF ^ 97)我尝试调试它,我发现 0xFFFFFFFF ^ 97 在 Go 中是 4294967198 但在 javascript 中是 -98。在围棋中:number1 := 0xFFFFFFFFnumber2 := 97fmt.Print(number1 ^ number2) // 4294967198 在 JavaScript 中:var number1 = 0xFFFFFFFFvar number2 = 97console.log(number1 ^ number2) // -980xFFFFFFFF ^ 97 在 Go 和 Javascript 中是不同的结果
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

在 JavaScript 中,按位运算(^按位异或)将数字转换为带符号的 32 位整数,然后再转换回双精度型。因此,执行 XOR 运算后,数字将转换回其默认类型 - IEEE-754 双精度二进制数 - 然后给出结果。

number -> 32-bit signed integer -> bitwise operation -> IEEE-754 double-precision binary number
查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信