logo科技微讯

~~10.5 为什么等于 10

作者:科技微讯
日期:2023-06-08
📝 笔记

删除一个数字的小数部分,仅保留整数部分,有几种方法:

const num = 10.5;
console.log(Math.trunc(num));
console.log(Math.floor(num));
console.log(num | 0);
console.log(~~num);
console.log(parseInt(num));

对于 bitwise 运算,数字会被转换为 two's complement 的形式,这时小数部分都会被忽略,所以 num | 0~~num 都会返回整数部分。


相关文章:

  • js 的 setTimeout 支持的最大值:这里提到 js 使用 32-bit 或 64-bit 的二进制存储数字,可以表示整数和负数,注意和 two's complement 的区别,js 不是用 two's complement 的形式存储数字,只是在执行 bitwise 运算时才会把数字理解为 two's complement 的形式;
  • ~-10 为什么等于 9:这里解释了如何把一个数字转换为 two's complement 的形式;
donation赞赏
thumbsup0
thumbsdown0
暂无评论