gpt4 book ai didi

javascript - 想知道与 0 使用 OR 位运算的原因

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

当我检查一些代码时,我发现有关位操作(|0)的计算未命中。

首先,我想知道为什么在计算(a*b)|0这样的两个数字后使用'|0'有什么特殊原因

其次,在下面的例子中,我期望得到的结果是220050,但结果是220049。你们知道为什么我得到这个结果吗?

importPackage(java.io); importPackage(java.lang);

var a = 164.700;
var b = 1500;

var result = (a*b)|0;


System.out.println(result);

最佳答案

|0 通过向零舍入将值转换为 32 位整数。乘法的结果略小于整数,因为数字在内部以二进制形式存储,并且您无法用二进制精确地表示大多数小数,原因与 1/3 不能用有限的十进制精确地写成相同的原因小数点后的位数。 164.7 的结果为 164.69999999999998863131622783839702606201171875。

关于javascript - 想知道与 0 使用 OR 位运算的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37850832/

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