当前位置:首页 > JavaScript

js 整数实现

2026-02-01 17:47:14JavaScript

整数表示

JavaScript 使用 IEEE 754 双精度浮点数标准存储所有数字,包括整数。虽然整数在语言中没有独立的数据类型,但可以通过以下方式实现整数操作:

js 整数实现

  • 所有整数在 ±2^53 范围内可精确表示(即 Number.MIN_SAFE_INTEGERNumber.MAX_SAFE_INTEGER
  • 超过该范围的整数可能出现精度丢失

整数检测方法

// 检查是否为整数
Number.isInteger(42); // true
Number.isInteger(42.0); // true
Number.isInteger(42.1); // false

// 安全范围内的整数检测
Number.isSafeInteger(9007199254740992); // false (超出安全范围)

整数转换方法

// 转换为整数
Math.trunc(3.14); // 3 (直接截断小数部分)
parseInt("10.5"); // 10 (字符串转整数)

// 四舍五入
Math.round(3.6); // 4
Math.floor(3.6); // 3 (向下取整)
Math.ceil(3.2); // 4 (向上取整)

位运算技巧

虽然 JavaScript 没有真正的整数类型,但位运算符会将操作数转换为32位有符号整数:

js 整数实现

// 快速取整
let num = 3.14 | 0; // 3

// 检查奇偶
function isEven(n) {
  return (n & 1) === 0;
}

大整数处理

对于超过安全范围的整数,可使用 BigInt 类型:

const bigInt = 9007199254740993n; // 后缀n声明BigInt
typeof bigInt; // "bigint"

// 运算时需要类型一致
5n + 2n; // 7n
5n + 2; // 报错

注意事项

  • 浮点数运算可能导致看似整数的值实际包含微小误差(如 0.1 + 0.2 !== 0.3
  • 位运算仅适用于32位范围(-2,147,483,648 到 2,147,483,647)
  • BigInt 不能与 Number 混合运算,也不能用于 Math 对象的方法

标签: 整数js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…