位运算向下取整

112 阅读1分钟

常见的取整方法

const a = 9.9

// 位运算 向下取整
console.log(a^0) // 9
console.log(a>>0) // 9
console.log(~~a) // 9

// Math 向下取整
console.log(Math.floor(a)) // 9

// parseInt 向下取整
console.log(parseInt(a)) // 9

// Math 向上取整
console.log(Math.ceil(a)) // 10

// Math 四舍五入
console.log(Math.round(a)) // 10

注意事项

  • 位运算效率高
  • js引擎的位运算只能够支持正负2^31-1的数,因为JavaScript 将数字存储为 64 位浮点数,但所有按位运算都以 32 位二进制数执行。
    const b = Math.pow(2, 31)
    const c = b - 1
    
    console.log(b) //2147483648
    console.log(~~b) // -2147483648
    console.log(c) // 2147483647
    console.log(~~c) // 2147483647