进制转换
二 / 八 / 十 / 十六进制任意互转,支持负数与大整数。
二进制2
八进制8
十进制10
十六进制16
36 进制36
7 进制custom
字符对照
→码点 65 Hex 0x41 Binary 1000001 HTML entity A
按位运算(十进制)
=
15十六进制: 0xF · 二进制: 1111
使用说明
用途
进制转换在线工具,支持二进制(base 2)、八进制(base 8)、十进制(base 10)、十六进制(base 16)以及任意 base 2-36 之间的相互转换。同时显示对应的 ASCII 字符、Unicode 码点、原码 / 反码 / 补码表示。常用于底层编程调试(位运算、内存查看)、网络协议分析(MAC 地址、IP 转十六进制)、颜色值转换(HEX RGB)、CTF 安全竞赛、教学示例。所有转换在浏览器本地完成。
操作步骤
- 左侧输入数字,选择源进制(默认十进制)
- 右侧同时显示二进制、八进制、十进制、十六进制四种结果
- 自定义进制:base 2 到 36 任意切换(base 36 用 0-9 + a-z 表示)
- 大端 / 小端字节序切换(影响多字节十六进制显示)
- 原码 / 反码 / 补码(针对负数,显示三种表示)
- 十六进制额外显示:对应的 ASCII 字符(0x41 = "A")、Unicode 码点
- 批量:每行一个数字,批量转换
- IP 地址 / MAC 地址特化模式:192.168.1.1 ↔ 0xC0A80101
常见问题
- 为什么 0xFF 在补码下是 -1 而不是 255?
- 看你按几位整数解释。**8 位无符号**: 0xFF = 255。**8 位有符号(补码)**: 0xFF 最高位是 1 = 负数,补码 -1 = 11111111 = 0xFF。**16 位无符号**: 0x00FF = 255(最高位 0 = 正数)。所以转换时要明确"按多少位、有符号还是无符号"。本工具默认按数字字面值,可切换有符号 / 无符号显示。
- 十六进制要不要带 0x 前缀?
- 不同语言习惯不同:**C / C++ / Java / Python / JS**: 0x 前缀(0xFF);**Pascal**: $ 前缀($FF);**汇编**: h 后缀(0FFh)。本工具识别所有格式,输出可选带或不带前缀。
- 负数的二进制怎么表示?
- 三种表示法。**原码**: 最高位符号位 + 绝对值二进制(-5 = 10000101)。**反码**: 负数除符号位外取反(-5 = 11111010)。**补码**: 反码 + 1(-5 = 11111011)。**计算机内部一律用补码**(加减法逻辑统一)。本工具同时显示三种供对照学习。
- IP 地址转十六进制怎么算?
- IP 是 4 个十进制字节,每个转两位十六进制拼接。192.168.1.1 → 192=0xC0, 168=0xA8, 1=0x01, 1=0x01 → 0xC0A80101。本工具的"IP 模式"自动处理这个。常用于网络协议调试、防火墙规则(iptables 接受十六进制 IP)。
- 为什么颜色用十六进制 #FFFFFF?
- 颜色用 RGB 三通道,每通道 0-255(8 位)。十六进制 8 位刚好是两位 hex 字符,三通道总共 6 位 hex(#FFFFFF),比十进制 (255,255,255) 紧凑。短格式 #FFF 是每位重复(#FFF = #FFFFFF, #ABC = #AABBCC)。
应用场景
- 位运算调试:& | ^ ~ << >> 操作的中间结果查看二进制
- 内存 dump 分析:从十六进制 dump 反推数据结构
- 网络协议:解析 IP / MAC / 端口的十六进制表示
- 颜色值转换:#FFAA00 看具体 RGB 分量
- CTF 安全竞赛:进制变换常用 trick
适用场景
位运算调试、内存 dump 分析、网络协议解析、颜色值转换、CTF 安全竞赛、教学示例。开发者、安全研究、网工常用。多进制同显、原码/反码/补码对照、IP 特化模式、大小端切换是关键差异点。