gpt4 book ai didi

javascript - 如何使 Javascript 按位运算符的行为像 C 中一样?

转载 作者:行者123 更新时间:2023-12-01 04:02:19 24 4
gpt4 key购买 nike

在 Javascript 中进行以下比较:

(0xf0000000 & 0xf0000000) == 0xf0000000

为 false,因为按位运算符将数字转换为有符号 int32。 & 的结果是负数,0xf0000000 的结果是正数

有没有办法让它像我期望的那样在 C 中运行?

最佳答案

Section 12.9.5 of Ecma 262 7.0 (ES 2016) 定义无符号右移运算符 (>>>) 以返回无符号 32 位整数。情况就是如此at least since ES 5 .

换句话说,当移位0时,您可以使用此运算符将int32值转换为uint32值。

因此,您只需将表达式更改为

(0xf0000000 & 0xf0000000) >>> 0 == 0xf0000000

产生true

关于javascript - 如何使 Javascript 按位运算符的行为像 C 中一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42102412/

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