gpt4 book ai didi

javascript - 为什么按位与会产生错误的数字?

转载 作者:行者123 更新时间:2023-11-28 19:35:46 27 4
gpt4 key购买 nike

为什么 Javascript 会错误地计算以下内容?

0xAABBCCDD & 0xFF00FF00

在 JavaScript 中:

console.log((0xAABBCCDD & 0xFF00FF00).toString(16)) // -55ff3400
console.log((0xAABBCCDD & 0xFF00FF00) === 0xAA00CC00) // false

在 C++ 中:

cout << hex << (0xAABBCCDD & 0xFF00FF00) << endl; // 0xAA00CC00

最佳答案

正如 Pointy 在他的回答中指出的那样,javascript 使用带符号的 32 位值。您可以使用>>> 0来指示该操作是无符号的。

console.log(((0xAABBCCDD & 0xFF00FF00) >>> 0).toString(16)) // Prints aa00cc00

关于javascript - 为什么按位与会产生错误的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com