进制选择会重新解释原文
初始参数是十进制、8 位、无符号、A 为 12、B 为 10、AND。改进制不会把原文转换为另一种写法;输入 0xFF 前请选十六进制,前缀不匹配会报错。
数值 / 位运算 / 单位
选择位宽和进制,勾选标志位,检查运算后的掩码。
第 0 位是最低有效位,勾选直接修改对应操作数。
置位位置(1 个): 3
输入仅在当前浏览器中处理,不会发送到服务器。
每个操作数为一个整数,最多 256 个字符;0b/0o/0x 必须匹配所选进制,不接受小数或分隔符。
有符号模式允许输入负数,并将最高位解释为符号位;算术右移复制该符号位。
计算完成。
排查权限组合、寄存器字段或协议标志时,一个十进制数字往往藏着多个开关。位运算计算器把数值和每一位放在一起:将原值填入 A、位掩码填入 B,再用 AND 找出共有的标志。
这里的负数用定宽补码解释,同一串二进制可以有不同的十进制读数。切换有符号设置之前,先看最高位;它决定的是解释方式,并不自动改写输入文本。
位运算计算器默认展示 12 AND 10 = 8。两行输入中只有第 3 位同时置位,结果也只保留这一位;位号列表和置位数量让掩码解码有据可查,而不是只看一个十进制答案。
在 8 位有符号模式中,将 A 设为 240,右移 2 位。逻辑右移补零得到 60,算术右移补符号位得到 −4。选择器明确列出两种操作,方便比较高位变化。
初始参数是十进制、8 位、无符号、A 为 12、B 为 10、AND。改进制不会把原文转换为另一种写法;输入 0xFF 前请选十六进制,前缀不匹配会报错。
第 0 位是最低有效位,位图按位号从高到低分行。直接勾选会写回对应操作数。NOT 和移位只使用 A,因此隐藏 B;移位量始终单独按十进制输入。
自动计算在停顿 350 毫秒后更新;关闭后可点计算或按 Ctrl/Cmd + Enter。示例、清空和交换先显示变动字段数量,应用后可撤销,输入、参数和结果一起恢复。
AND 提取指定位置,OR 设置标志,XOR 做异或计算并切换标志。例如 A 为 5、B 为 3 时,三种结果分别为 1、7、6。NOT 仅反转 A 在当前位宽内的位,B 的旧内容不参与。
64 位无符号最大值 18446744073709551615 可精确参与运算。结果同时显示有符号与无符号十进制读数,二进制按位宽补零,十六进制按对应位数补零,八进制保留数值。
结果列出所有值为 1 的位号及总数。把 B 当作掩码做 AND,可检查哪些标志命中;用 OR 设置、XOR 切换。这里不猜测业务名称,第 3 位代表什么由具体协议或程序定义。
NOT 会将当前位宽的零全部翻为一。8 位时位模式为 11111111,无符号解释是 255,有符号解释才是 −1。位运算计算器会同时给出两种十进制读数,便于检查。
这些输出表示原始位模式,有符号设置只改变十进制解释。例如 8 位的 0xFF 可读作 255 或 −1,位本身没有改变。若原文是负数,关闭有符号模式会报错,而不是偷偷转换。
逻辑右移始终在高位补零;算术右移复制最高符号位,且要求开启有符号模式。8 位 11110000 右移两位时,前者为 00111100,后者为 11111100。
最低有效位是第 0 位,也就是通常书写二进制时最右边的一位。本页按位号从高到低排布,窄屏会分行;判断权重应看位号,第 n 位的权重为 2^n。
本工具只接受整数,不会将小数截断,也不读取浮点数的内存表示。十进制 1.5 和 1e3 会报错;十六进制中的合法字母仍是数位,例如 1e3 表示一个十六进制整数,但仍须符合位宽。
结果与预期不符?