补码原码反码转换
在线原码反码补码三种整数编码格式互转工具,支持8位、16位、32位有符号整数,可视化展示符号位与数值位,帮助理解计算机整数表示原理
补码转换器原码反码补码进制转换工具有符号数转换二进制编码计算机原理学习
最后更新: 2026/6/7
符号位数值位
原码(sign-magnitude)
二进制
11111111
十六进制:0xFF
反码(one's complement)
二进制
10000000
十六进制:0x80
补码(two's complement)
二进制
10000001
十六进制:0x81
8位边界值对照表
| 标识 | 十进制 | 原码 | 反码 | 补码 | 十六进制 |
|---|---|---|---|---|---|
| INT8_MIN | -128 | 1100 0000 0 | 1011 1111 1 | 1000 0000 | 0x80 |
| -127 | -127 | 1111 1111 | 1000 0000 | 1000 0001 | 0x81 |
| -1 | -1 | 1000 0001 | 1111 1110 | 1111 1111 | 0xFF |
| 0 | 0 | 0000 0000 | 0000 0000 | 0000 0000 | 0x00 |
| 1 | 1 | 0000 0001 | 0000 0001 | 0000 0001 | 0x01 |
| 127 | 127 | 0111 1111 | 0111 1111 | 0111 1111 | 0x7F |
| UINT8_MAX | 255 | 1111 1111 | 1111 1111 | 1111 1111 | 0xFF |
分享:
使用说明
- 选择转换模式:十进制转编码或十六进制转十进制
- 输入数值:在输入框填写十进制整数或十六进制值
- 设置位宽:根据数据类型选择8位、16位或32位
- 查看转换结果:三种编码格式的二进制和十六进制值,符号位红色高亮显示
- 复制输出值:点击复制按钮获取二进制字符串用于其他用途
核心功能
- 1编码格式转换输入十进制有符号整数,一键转换为原码、反码、补码三种二进制编码格式,同时显示对应的十六进制值,方便对比学习
- 2多位宽支持支持8位、16位、32位三种常见的有符号整数位宽,覆盖从单片机到桌面应用的主流数据类型
- 3可视化编码符号位用红色高亮显示,数值位用蓝色分组展示,直观区分正负数的编码结构,帮助理解计算机整数表示原理
- 4十六进制解析输入十六进制值可反向解析为十进制整数,支持有符号和无符号两种解读方式,适用于寄存器数据查看场景
- 5边界值对照内置8位和16位边界值对照表,展示INT_MIN、INT_MAX、零值、典型负数等特殊值的编码,帮助理解极值情况
适用场景
✓
计算机原理学习
学生学习计算机组成原理课程时,需要理解原码反码补码的区别和转换规则,通过实际数值的转换结果加深对编码概念的理解
✓
嵌入式调试
嵌入式开发过程中需要查看寄存器或内存地址的十六进制值对应的十进制数,快速判断数据是正数还是负数及其真实数值
✓
数字电路设计
设计数字逻辑电路时需要理解加法器、比较器等电路对有符号数的处理方式,通过边界值对照验证电路设计的正确性
✓
数据协议解析
解析二进制通信协议或文件格式时,遇到有符号整数的十六进制表示,需要正确解读为十进制数值进行后续处理
工具优势
纯浏览器端运行
所有计算在本地浏览器完成,无需上传数据到服务器,保护数据隐私安全,适合处理敏感或私有数值
完全免费使用
无需注册账号、无需付费订阅、无使用次数限制,所有功能开放使用,适合学生和开发者日常学习调试
可视化专业展示
符号位与数值位分色显示,4位分组方便阅读,同时显示三种编码对比,界面设计针对编码学习优化
常见问题
Q: 什么是原码、反码、补码?它们有什么区别?
A: 原码最高位是符号位,其余位表示绝对值,正数和负数除符号位外完全相同。反码在原码基础上,负数的数值位全部取反。补码在反码基础上再加一,是计算机实际存储和运算有符号数的标准方式,能统一处理加减运算。
Q: 为什么计算机使用补码而不是原码?
A: 补码设计让减法运算可以转化为加法运算,无需额外的减法电路,简化了CPU设计。同时补码只有一个零的表示,避免了原码中正零和负零的双重表示问题,让运算逻辑更加统一高效。
Q: 十六进制输入支持什么格式?有符号和无符号有什么区别?
A: 支持带前缀的格式如「0xFF」或不带前缀的「FF」,工具会自动识别。有符号模式将最高位作为符号位,0x80在8位有符号下解读为-128;无符号模式则直接转换为正整数,0x80解读为128。
Q: 工具的转换结果准确吗?如何验证?
A: 转换算法严格按照编码定义实现,8位范围是-128到127,16位是-32768到32767,32位是-2147483648到2147483647。工具内置边界值对照表,可以验证INT_MIN、零值、INT_MAX等特殊值的转换结果是否正确。