当前位置:首页 > JavaScript

js实现位移

2026-03-15 07:03:41JavaScript

位移操作基础

在JavaScript中,位移操作通过位运算符实现,包括左移(<<)、有符号右移(>>)和无符号右移(>>>)。这些操作直接对二进制位进行操作,适用于整数(32位有符号数)。

左移(<<

左移运算符将二进制位向左移动指定位数,右侧补0。每左移一位相当于乘以2。

const num = 5; // 二进制 0101
const result = num << 2; // 010100 (二进制) → 20 (十进制)
console.log(result); // 输出 20

有符号右移(>>

保留符号位(正负),右侧移出位丢弃,左侧补符号位。每右移一位相当于除以2并向下取整。

const num = -20; // 二进制补码表示
const result = num >> 2; // 保留符号位,结果为 -5
console.log(result); // 输出 -5

无符号右移(>>>

忽略符号位,右侧移出位丢弃,左侧补0。对于正数,结果与>>相同;负数会变为正数。

js实现位移

const num = -20;
const result = num >>> 2; // 忽略符号位,结果为 1073741819
console.log(result); // 输出 1073741819

应用场景

  • 快速乘除:左移/右移替代乘除2的幂次(需注意溢出和负数情况)。
  • 颜色操作:分解或组合RGB值时常用位移提取通道。
    // 提取RGB中的红色分量
    const color = 0xFFA07A; // 珊瑚色
    const red = (color >> 16) & 0xFF; // 0xFF
    console.log(red); // 255

注意事项

  • 操作数会被转换为32位整数,超出范围的位会被丢弃。
  • 无符号右移可能改变负数的符号,需谨慎使用。

通过合理运用位移操作,可以高效处理底层数据或优化特定计算场景。

标签: 位移js
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现跳转

js实现跳转

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

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…