进制转换教程

在线进制转换工具怎么用?二进制、八进制、十进制、十六进制相互转换,附带对应关系,编程调试常用。

一小时为什么写作 0xE10

程序员看时间戳,3600 秒常写成 0xE10。这个数按权展开就是十进制:14×256 + 1×16 + 0 = 3600。同一数值换八进制是 7020:7×512 + 0×64 + 2×8 + 0 = 3600——两条路径算出同一个数,这就是按权展开的恒等式:任意进制数 = Σ(数码 × 基数^位)。转完进制做一次展开验算,是最快的自查。

三种进制的分工

  • 十进制:日常计算、人读数
  • 十六进制:颜色值(#1A73E8)、内存地址、字节数据,两位正好表示一字节
  • 二进制:位运算、权限掩码(rwx=111)、布尔组合
  • 八进制:Unix 文件权限(755)、部分老系统接口

转换的两个易错点

十六进制混用字母数字时,A-F 是 10-15 不是字母本身:0xE10 的 E 是 14,初学者常当成 5。大数溢出也常见:32 位系统最大约 21 亿(0x7FFFFFFF),超过就回绕成负数,时间戳 2038 问题正是这么来的。

常见问题

为什么 0x 前缀不能省?
省了会被当十进制解析:E10 直接写会被判非法,0xE10 才是十六进制 3600。
负数怎么表示?
计算机用补码:8 位的 -1 是 0xFF,转十进制要看符号位约定。
手算怎么验算?
按权展开求和,与原值相等即正确——3600 的两条展开路径就是范例。

进制只是数字的外衣,按权展开一算,穿哪件都藏不住。

去使用 进制转换工具