对于浮点数 x,没有下溢和上溢,x+x 和 x*2 的结果相同吗?
P粉064448449
P粉064448449 2023-09-07 10:08:44
[JavaScript讨论组]

例如,最初我有这样的代码:

function(x,y){
  let z=x+y;
  .
  .
  .
}

后来我发现y必须与x相同,想将x+y重构为x * 2,但需要保证重构前后整个程序的行为相同。 x+x 与 x*2 相同吗?我不知道 + 和 * 是否使用不同的计算机制,从而导致舍入到不同的结果。

我测试过:

for(let i=0.01;i<100;i++){
  if(i+i!=i*2){
    console.log(i);
    break;
  }
}

对于 i 的某些范围似乎是正确的,但不知道是否对于所有浮点数都正确。

P粉064448449
P粉064448449

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号