按位计算器
MiniWebtool 的位运算计算器逐位展示整数运算。选择运算和位宽,即可查看 AND、OR、XOR 或移位操作如何改变二进制表示。
你的广告拦截器导致我们无法展示广告
MiniWebtool 依靠广告收入免费提供服务。如果这个工具帮到了你,欢迎升级获得无广告浏览和更多每日使用次数,或将 MiniWebtool.com 加入白名单后刷新页面。
- 允许 MiniWebtool.com 显示广告,然后刷新
- 或升级获得无广告浏览和更高每日额度
按位计算器
欢迎使用位移计算器,这是一个专门用于执行带有可视化位图的左移、右移和按位 NOT 运算的工具。此计算器可帮助程序员、学生和工程师理解位在位移运算中是如何移动的,以及 NOT 运算如何反转所有位。
功能概览
按位计算器对整数执行左移、右移和按位取反,并逐位显示每个结果。输入可以是二进制、十进制或十六进制,位宽可自行选择。
| 功能 | 具体内容 | 适用场景 |
|---|---|---|
| 输入格式 | 以二进制、十进制或十六进制输入数字。 | 处理从代码或硬件文档中复制的数值 |
| 移位运算 | 左移(<<)和右移(>>)可移动 1 至 64 位。左移在右侧补零;右移会丢弃移出的位。 | 核对乘以或除以 2 的幂 |
| 按位取反 | 反转每一位,结果取决于位宽。例如,8 位下 NOT 5 得到 250(11111010)。 | 学习一的补码 |
| 位宽 | 可选 8、16、32 或 64 位,或保持自动。 | 匹配某种语言或寄存器的整数大小 |
| 位示意图 | 可视化示意图显示位向左或向右移动,并有“全部计算”按钮运行每一种运算。 | 学生学习移位如何改变二进制数 |
位移位运算
左移 (<<)
左移运算将所有位向左移动指定的位数。右侧填充的新位始终为零。每向左移动 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日