普通计算器做 0b1010 + 0xF 会报错,但这是程序员天天要算的东西。速工具 的程序员计算器支持四种进制互转、位运算、ASCII 查询,纯本地运行。

四种进制快速对比

进制基数前缀典型用途
二进制20b位掩码、权限位
八进制80oUnix 文件权限(chmod)
十进制10日常计算
十六进制160x内存地址、颜色值、Unicode

位运算速查

运算符号(C/JS)示例用途
按位与&0b1100 & 0b1010 = 0b1000掩码、权限检查
按位或|0b1100 | 0b1010 = 0b1110设置标志位
按位异或^0b1100 ^ 0b1010 = 0b0110交换变量、加密
按位取反~~0b0011 = 0b1100(补码表示)生成反码
左移<<0b0011 << 2 = 0b1100快速乘 2ⁿ
右移>>0b1100 >> 2 = 0b0011快速除 2ⁿ

技巧:左移 n 位 = 乘以 2ⁿ;右移 n 位 = 除以 2ⁿ(整数除法)。比乘法快很多,底层代码常用。

权限位计算(Unix chmod)

Unix 文件权限用 3 位八进制表示:rwxr-xr-x = 755

所有者:rwx = 111(二进制)= 7(八进制)
群组:  r-x = 101(二进制)= 5(八进制)
其他:  r-x = 101(二进制)= 5(八进制)
chmod 755 file  # 就是这个意思

用程序员计算器可以在十进制和八进制之间快速转换,算权限很方便。

ASCII 码查询

ASCII 是美国信息交换标准码,用 0-127 的数字表示英文字符。

字符十进制十六进制说明
A650x41大写 A 开始
a970x61小写 a 开始(比大写多 32)
0480x30数字 0 开始
(换行)100x0ALF(Unix 换行)
(回车)130x0DCR(Windows 换行是 CRLF)

在线使用步骤

  1. 打开 程序员计算器
  2. 选择输入进制(二进制/八进制/十进制/十六进制)。
  3. 输入数值,工具实时显示其他进制的等价表示。
  4. 选择位运算类型,输入第二个操作数,点击计算。
  5. 在 ASCII 查询区输入字符或数字,查看对应关系。

FAQ

负数在位运算里怎么表示?

计算机用补码表示负数。简单说:正数的二进制取反再加 1。比如 8 位下,-1 的表示是 11111111(0b00000001 取反 = 0b11111110,加 1 = 0b11111111)。程序员计算器里可以切换「有符号」和「无符号」模式来看同一串二进制。

为什么位运算比乘法快?

因为移位直接改二进制位,一条 CPU 指令就完成;乘法要调用乘法器电路(或多条指令)。在底层代码(C/C++、Rust)里,用移位代替乘除以 2 的幂次是常见优化。但现代编译器会自动做这个优化,手写的移位不一定更快。