gpt4 book ai didi

JavaScript:true >> 0 = 1 如何实现?

转载 作者:行者123 更新时间:2023-12-03 06:08:49 25 4
gpt4 key购买 nike

我一直在寻找答案,但我所能找到的只是原因

true == 1 = true  
false == 0 = true

我仍然不明白 JavaScript 如何获取 Boolean 类型并将其添加到 int 类型

true >> 0 = 1 
false >> 1 = 0

最佳答案

首先,true隐式转换为 1在 JavaScript 中(在控制台中尝试 Number(true) + 1 ,这将产生 2 )。

此外>>数字右移,并丢弃移出的位。因此true >> 0 除了隐式转换之外不执行任何操作 true1 (因为没有位被移动)。

对于第二个示例,false隐式转换为 0 因为移位的位被丢弃,所以移位不会对结果产生影响。试试false >> 1000 ,仍然是0 .

<小时/>

可以找到更好的解释 here ,感谢@adam-beck,他还补充了另一个非常好的观点:

If you don't know much about bit shifting, bitwise operators, or even working with binary numbers, know that when you shift ( >> or <<) by 0 you aren't changing the number at all: 152 >> 0 === 152

关于JavaScript:true >> 0 = 1 如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39411906/

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