无需登录 数据私有 本地保存

程序员计算器 - 位运算与多进制转换

18
0
0
0
就绪,请输入数字
HEX 0
DEC 0
OCT 0
BIN 0
字长:
位运算速查
AND两位都为1才得1按位与
OR任意一位为1即得1按位或
XOR两位不同得1按位异或
NOT每位取反按位非
SHL左移,低位补0« n
SHR逻辑右移,高位补0» n
SAR算术右移,保持符号»» n
ROL循环左移rotate left
ROR循环右移rotate right

点击显示行切换输入进制 | 结果实时多进制同步

常见问题与知识点

什么是位运算?为什么程序员需要位运算?
位运算(Bitwise Operation)是直接在二进制位级别上对整数进行的操作。它包括AND、OR、XOR、NOT、移位等。位运算在底层编程、嵌入式开发、密码学、图形处理、性能优化、权限管理和网络协议解析中广泛应用。相比算术运算,位运算执行速度极快,是CPU最基础的操作之一。
二进制(BIN)、八进制(OCT)、十进制(DEC)、十六进制(HEX)之间如何转换?
每种进制都是数值的不同表示方式。二进制逢2进1(使用0和1),八进制逢8进1(使用0-7),十进制逢10进1(使用0-9),十六进制逢16进1(使用0-9和A-F,A=10, B=11, ..., F=15)。转换时,可以通过除以目标进制取余数的方法,或使用计算器工具快速完成。本工具支持四进制同步显示,帮助理解不同进制间的关系。
AND运算的典型应用场景有哪些?
AND运算常用于:掩码操作(提取特定位)、清零指定位(将某位置0)、判断奇偶(x & 1 判断最低位)、权限检查(检查某个权限标志是否设置)、IP地址子网掩码计算等。例如 n & 0xFF 可提取32位整数的低8位。
SHL(左移)和SHR(逻辑右移)有什么区别?算术右移(SAR)又是什么?
SHL(左移):所有位向左移动n位,低位补0,每左移1位相当于乘以2。溢出高位被丢弃。
SHR(逻辑右移):所有位向右移动n位,高位补0,每右移1位相当于无符号除以2。
SAR(算术右移):右移时保持符号位(最高位)不变,用于有符号数的除法(保持正负号)。在有符号整数中,SAR右移1位相当于除以2(向下取整)。
循环移位(ROL/ROR)和普通移位有什么区别?
循环移位(Rotate)将移出的位重新填充到另一端,形成闭环。ROL左移时,移出的高位填充到低位;ROR右移时,移出的低位填充到高位。循环移位在密码学算法(如DES、AES)、哈希函数、校验和计算中非常重要,可以实现数据的混淆和置换。
XOR运算有什么特殊性质?
XOR(异或)具有独特的性质:自反性:a XOR a = 0;恒等性:a XOR 0 = a;交换律和结合律。利用这些性质,XOR常用于:数据加密(简单异或加密)、变量交换(不使用临时变量交换两个值)、校验和(RAID 5使用XOR进行奇偶校验)、查找唯一出现一次的数字(经典算法题)。
什么是位掩码(Bitmask)?如何创建和使用?
位掩码是一个用于选择或修改特定位的二进制模式。例如,要提取一个数的低4位,可以使用掩码 0x0F(二进制00001111)进行AND运算。要设置第3位(从0开始),使用 OR 运算配合掩码 (1 << 3) = 0x08。掩码技术广泛应用于硬件寄存器配置、文件权限管理(如Linux的chmod 777)、颜色编码(RGB提取)等场景。