GrowGen | 整

JavaScript 获取 Unsigned Int

J.Gong

2019-02-25

0.45min

JavaScript 获取 Unsigned Int

JavaScript 默认是64位有符号的整型,可以利用移位符号解决,但不是>>2而是>>>0

const a = 4136517969;
const b = a >> 2;
/* b == -39612332 */
const a = 4136517969;
const b = a >>> 0;
/* b == 4136517969 */

最好不要使用 >> ,推荐使用 >>> 因为最左边一位会被解析成符号位,当数字溢出时,会被解析成负数。

当然按照这种方式eslint的默认配置是不允许的,所以可以借助 Unit32Array.

const a = 4136517969;
const b = new Uint32Array([a])[0];
/* b == 4136517969 */

J.Gong

相关文章

Tags

tech

© 2025 我的技术博客. 保留所有权利.

使用 Astro.build + Mantine 构建 | 部署在 Vercel