当前位置: 首页 > news >正文

原码、反码和补码的介绍和区别

在计算机中,有符号整数的表示方法主要有 原码、反码和补码,它们解决了二进制数表示正负数及简化运算的问题。以下是分步说明:


1. 原码(Sign-Magnitude)

  • 定义:最高位为符号位(0正1负),其余位表示数值的绝对值。
  • 示例(4位二进制):
    • +50 101
    • -51 101
  • 问题
    • 零的歧义:存在 +00 000)和 -01 000)。
    • 运算复杂:加减法需判断符号,硬件实现困难。

2. 反码(1’s Complement)

  • 定义:正数与原码相同;负数为原码符号位不变,其余位取反。
  • 示例
    • +50 101
    • -51 010(原码 1 101 取反)
  • 运算
    • 加法:5 + (-5)0 101 + 1 010 = 1 111(反码的 -0
  • 问题
    • 双零问题:仍存在 +00 000)和 -01 111)。
    • 进位处理:运算结果若溢出需循环进位。

3. 补码(2’s Complement)(现代计算机标准)

  • 定义:正数与原码相同;负数为反码加1。
  • 示例
    • +50 101
    • -51 011(反码 1 010 + 1)
  • 运算
    • 加法:5 + (-5)0 101 + 1 011 = 10 000(溢出后为 0 000
  • 优势
    • 唯一零0 仅表示为 0 000
    • 统一运算:减法可转换为加法(A - B = A + (-B))。
    • 范围更大:n位补码范围为 -2ⁿ⁻¹ 至 2ⁿ⁻¹ -1(如8位:-128 ~ 127)。

4. 转换步骤

负数转补码
  1. 取绝对值原码:如 -5 → 绝对值原码 0 101
  2. 符号位置11 101(原码)。
  3. 数值位取反1 010(反码)。
  4. 加11 011(补码)。
补码转十进制
  1. 符号位为1:表示负数。
  2. 数值位取反加11 011 → 取反 1 100 → 加1 1 101 → 绝对值5 → 结果-5。

5. 关键对比

表示法优点缺点零的表示
原码直观易读双零问题,运算复杂+0-0
反码解决部分运算问题双零仍存在,需循环进位+0-0
补码运算统一,无双零,范围更大负数转换需额外步骤唯一 0

6. 实际应用

  • 硬件简化:CPU只需加法器即可处理所有有符号数运算。
  • 编程注意
    • 溢出检测:如 127 + 1(8位补码)会溢出为 -128
    • 位移操作:右移补符号位(算术右移)或补零(逻辑右移)。

总结

  • 补码 是计算机表示有符号整数的标准方法,解决了原码和反码的缺陷。
  • 理解补码有助于调试底层代码、处理溢出及优化位运算。

相关文章:

  • pycharm找不到conda可执行文件
  • 系统架构设计师—数据库基础篇—数据库的控制功能
  • 【形态学操作中的开运算和闭运算详细讲解】
  • Windows设置目录及子目录大小写不敏感暨git克隆报错同名文件已存在的解决办法
  • Flink MysqlCDC和OracleCDC对比
  • 虚拟卡 WildCard (野卡) 保姆级开卡教程
  • QT day5
  • 当夸克让搜索学会深度思考,AI搜索掀开新篇章
  • 分布式ID生成方案:数据库号段、Redis与第三方开源实现
  • 代码随想录算法训练营第35天 | 01背包问题二维、01背包问题一维、416. 分割等和子集
  • 【芯片设计】处理器芯片大厂前端设计工程师面试记录·20250307
  • ClickHouse 中出现 DB::Exception: Too many parts 错误
  • 什么是向量数据库?向量数据库概念,详细入门
  • 【五.LangChain技术与应用】【26.LangChain Agent基础应用(上):智能代理的构建】
  • 护照阅读器在机场流程中的应用
  • MATLAB中lookAheadBoundary函数用法
  • TWind 的黑马点评随笔
  • Android15请求动态申请存储权限完整示例
  • meta|BioMercator:整合遗传图谱和 QTL 以发现候选基因
  • 【五.LangChain技术与应用】【28.LangChain Agent添加记忆:智能代理的长期学习能力】
  • 给企业做网站前景/怎么推广平台
  • 搭建高端网站/uc浏览器网页版入口
  • 关于网站建设方案/网站关键词怎么写
  • 上海企业网站模板建站费用/产品网络营销策划方案
  • 做二维码报名网站/百度最新秒收录方法2021
  • 服务器搭建网站数据库/网站优化推广哪家好