按位计算器
对整数执行按位操作(AND、OR、XOR、NOT)和位移位操作,并通过交互式可视化位图显示每个位的位置。
检测到广告拦截,导致我们无法展示广告
MiniWebtool 依靠广告收入免费提供服务。如果这个工具帮到了你,欢迎开通 Premium(无广告 + 更快),或将 MiniWebtool.com 加入白名单后刷新页面。
- 或升级 Premium(无广告)
- 允许 MiniWebtool.com 显示广告,然后刷新
按位计算器
欢迎使用位移计算器,这是一个专门用于执行带有可视化位图的左移、右移和按位 NOT 运算的工具。此计算器可帮助程序员、学生和工程师理解位在位移运算中是如何移动的,以及 NOT 运算如何反转所有位。
位移位运算
左移 (<<)
左移运算将所有位向左移动指定的位数。右侧填充的新位始终为零。每向左移动 1 位相当于将数字乘以 2。
示例: 5 << 2
- 二进制中的 5:0101
- 左移 2 位:010100
- 结果:20(即 5 乘以 4)
公式: n << k = n 乘以 2 的 k 次方
右移 (>>)
右移运算将所有位向右移动指定的位数。从右端移出的位将被丢弃。每向右移动 1 位相当于将数字进行整数除以 2。
示例: 20 >> 2
- 二进制中的 20:10100
- 右移 2 位:00101
- 结果:5(即 20 除以 4)
公式: n >> k = n 除以 2 的 k 次方(整数除法)
按位 NOT (~)
NOT 运算反转每一位:0 变为 1,1 变为 0。结果取决于所使用的位宽。
示例: NOT 5(8 位)
- 二进制中的 5(8 位):00000101
- NOT 运算:11111010
- 结果:250
常见用例
快速乘除法
- 乘以 2:
n << 1 - 乘以 4:
n << 2 - 乘以 8:
n << 3 - 除以 2:
n >> 1 - 除以 4:
n >> 2
创建位掩码
- 第 k 位的掩码:
1 << k - 低 n 位的掩码:
(1 << n) - 1
设置和清除位
- 设置第 k 位:
n | (1 << k) - 清除第 k 位:
n & ~(1 << k) - 切换第 k 位:
n ^ (1 << k)
如何使用此计算器
- 选择输入格式: 选择二进制、十进制或十六进制。
- 输入您的数字: 输入您想要移动的数字。
- 输入位移量: 指定要移动的位数 (1-64)。
- 选择位宽: 选择特定的宽度或保持为“自动”。
- 选择运算: 点击“左移”、“右移”或“计算全部”。
- 分析结果: 查看可视化位图,显示位是如何移动的。
常见问题解答
什么是左位移运算?
左移 (<<) 将所有位向左移动指定的位数,右侧用零填充。每向左移动 1 位实际上是将数字乘以 2。例如,5 << 2 将 0101 移动到 10100,等于 20(5 乘以 4)。
什么是右位移运算?
右移 (>>) 将所有位向右移动指定的位数,丢弃从右端移出的位。每向右移动 1 位实际上是将数字除以 2(整数除法)。例如,20 >> 2 将 10100 移动到 00101,等于 5。
什么是按位 NOT 运算?
按位 NOT (~) 反转每一位:0 变为 1,1 变为 0。结果取决于所使用的位宽。对于 8 位数字,NOT 5 (00000101) 等于 250 (11111010)。此运算也被称为反码。
为什么要使用位移而不是乘法?
位移通常比乘法快,因为它是更简单的 CPU 操作。左移 n 位相当于乘以 2^n,右移 n 位相当于除以 2^n。这种技术常用于性能至关重要的代码中。
相关运算
如需按位 AND、OR 和 XOR 运算,请访问我们的按位计算器。
引用此内容、页面或工具为:
"按位计算器" 于 https://MiniWebtool.com/zh-cn//,来自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 团队开发。更新日期:2025年12月26日
您还可以尝试我们的 AI数学解题器 GPT,通过自然语言问答解决您的数学问题。