二进制位运算

支持按位与或非异或、同或、与非、或非、左移右移、按位逆序取反等11种位运算,8/16/32/64位宽度可选,三种进制实时互转

位运算计算器

选择运算类型、位宽与输入进制,实时查看三种进制结果与二进制可视化

十进制输入,例如 255
十进制输入,例如 15

计算结果

请输入操作数并选择运算类型后查看结果...
广告位

使用说明

  1. 选择位宽(8/16/32/64 位),决定运算的数值范围与结果位数
  2. 从运算类型按钮中选择需要的运算(与、或、非、异或、移位等)
  3. 为操作数 A、B 分别选择输入进制(二进制 / 十进制 / 十六进制)
  4. 输入操作数后点击"开始计算"或开启"实时计算"自动得出结果
  5. 结果区显示三种进制的结果值,并以 4 位分组高亮显示二进制
  6. 选择一元运算(非、按位取反、按位逆序)时,操作数 B 自动禁用
  7. 点击"交换 A/B"可快速交换两个操作数,便于对比运算

适用场景

  • 底层开发:位掩码计算、寄存器配置、硬件接口编程
  • 算法学习:理解位运算原理、调试位操作代码
  • 网络协议:IP 子网掩码计算、TCP 标志位分析
  • 加密哈希:位级运算、哈希函数调试
  • 图形编程:颜色通道位运算、像素位操作

安全保障

  • 本地处理:所有运算在浏览器本地完成
  • 隐私保护:不收集、不存储用户输入内容
  • 精度保障:使用 BigInt 支持 64 位精确运算
  • 免费使用:无需注册,打开即用

常见问题

为什么要区分位宽?位宽对结果有什么影响?

位宽决定数值的表示范围。例如 8 位运算的结果会被限制在 0-255(无符号)范围内,超出部分会被截断。同样的运算在不同位宽下可能产生不同结果,例如 8 位下 200 + 100 = 44(溢出截断),而 16 位下则为 300。本工具默认使用 32 位以匹配多数编程语言的 int 类型。

"按位取反"和"非 NOT"运算有什么区别?

两者本质相同,都是对操作数的每一位取反(0 变 1,1 变 0)。本工具将其拆分为两个入口以便于查找:"非 NOT"对应编程语言中的 ~ 运算符,结果会按所选位宽截断;"按位取反"是中文习惯叫法,效果一致。

左移和右移运算如何处理溢出?

左移(<<)时,高位超出位宽的部分会被丢弃,低位补 0;右移(>>)时,低位被丢弃,高位补 0(逻辑右移)。移位次数超过位宽时,结果按移位次数对位宽取模后计算(例如 32 位下左移 33 位等于左移 1 位)。

支持负数输入吗?

当前版本仅支持无符号整数运算。输入负数会被视为非法输入。如需有符号运算(补码表示),可使用十进制输入对应的无符号值,例如 8 位下的 -1 等价于输入 255。