JS整除运算

本文介绍了JavaScript中进行整除运算的方法,并进行了简单的性能测试。测试在Chromium 71.0.3578.98 (64位)环境下进行,日期为2019年3月10日。虽然测试准确性受限,但讨论了整除运算的不同实现方式及其可能的性能差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x00 方法

Math.ceil(x/y);   // 向上整除 4/3=2;
Math.floor(x/y);  // 向下整除 4/3=1;
Math.round(x/y);  // 四舍五入 5/2=3 5/4=1;
parseInt(x/y);    // 丢弃小数部分,保留整数部分; 

0x01 性能

function fn1(x, y){let t = Math.ceil(x/y)}
function fn2(x, y){let t = Math.floor(x/y)}
function fn3(x, y){let t = Math.round(x/y)}
function fn4(x, y){let t = parseInt(x/y)}
function test(fn, n){
  let start = new Date().getTime();
  // 137437	是一个质数
  for(let i=0; i<n; i++){fn(i, 137437)}
  let end = new Date().getTime();
  console.log(n, end-start)
}
// 测试
test(fn1, 10000000);  // 13ms
test(fn2, 10000000);  // 89ms
test(fn3, 10000000);  // 72ms
test(fn4, 10000000);  // 232ms

0x02 附

  • 个人是个菜鸟,测试准确性不敢保证;
  • 测试使用的浏览器内核:Chromium 71.0.3578.98 (64位)
  • 测试时间:Sun Mar 10 2019 10:16:41 GMT+0800 (中国标准时间)
  • 因准确性不敢保证,因此转载请注明出处以便溯源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值