目录

  • 一、原理和计算
    • 1、原码
    • 2、反码
    • 3、补码
  • 二、作用

一、原理和计算

1、原码

在数字电路中,我们用逻辑电路输出的高低电平表示二进制码1、0,我们有时候需要对正数和负数进行操作,但是在二进制逻辑电路中只有0和1,并没有负号,所以我们在数值的最高位添0表示正数,添1表示负数,这样的数就叫原码。

2、反码

当原码为正数时,它的反码是自己本身

当原码为负数时,它的反码是原码的各位取反

3、补码

下面截取《数字电子技术基础(阎石)》中的一个例子来说明补码

所以当我们要减去一个正数时,其实是加上一个负数,加法和减法最终都可以写成加法,所以采用补码相加。

当原码为正数时,它的补码是自己本身
当原码为负数时,它的补码为反码加1

综上:
当原码为正数时,它的反码和补码都是自己本身
当原码为负数时,它的反码是原码的各位取反,补码是反码加1

二、作用

在计算机系统中,有符号数的运算都是使用补码。

在进行带符号数加减乘除运算时,如果直接用原码进行计算,那我们需要比较符号位和除符号位以外的绝对值。
在做减法运算时,我们要先比较两个数绝对值大小,用大的减去小的,在用大的符号位作为结果的符号位,可以看出,这样设计很麻烦,要使用比较电路和选择电路以及减法电路。

所以选择补码的方式可以节约资源和降低运算复杂度

数字电子技术基础(二):原码、反码、补码相关推荐

  1. 关于计算机中 原码, 反码, 补码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  2. 原码, 反码, 补码, 移码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  3. 原码 反码 补码 详解

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式,  叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放 ...

  4. 原码 反码 补码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  5. 原码, 反码, 补码详解——北大陈向群老师课堂笔记

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符 ...

  6. 原码, 反码, 补码 详解

    本文转载于: 作者:张子秋 出处:http://www.cnblogs.com/zhangziqiu/ 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进 ...

  7. 原码, 反码, 补码 详解(转载)

    原码, 反码, 补码 详解(转载) 繁星*墨菲 于 2020-05-23 10:22:53 发布1015 收藏 75 版权 转载地址:原码, 反码, 补码 详解 - ziqiu.zhang - 博客园 ...

  8. 原码反码补码以及左移右移无符号左移右移。

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符 ...

  9. C语言基础(二)—— 常量与变量、数据类型、进位制、关键字、原码反码补码、限定符、字符串格式化输入输出

    1. 常量与变量 1.1 关键字 1.2 数据类型 数据类型的作用:编译器预算对象(变量)分配的内存空间大小. 1.3 常量 在程序运行过程中,其值不能被改变的量 常量一般出现在表达式或赋值语句中 整 ...

  10. 数字电子技术基础第三版杨志忠_阎石数字电子技术基础第6版笔记和课后习题详解...

    阎石<数字电子技术基础>(第6版)笔记和课后习题(含考研真题)详解 第1章 数制和码制 1.1 复习笔记 本章作为<数字电子技术基础>的开篇章节,是数字电路学习的基础.本章介绍 ...

最新文章

  1. STL之multiset中equal_range,multimap中的equal_range,bitset容器,string字符串操作,lambda表达式
  2. 大学c语言程序设计期末考试试卷,大学大一c语言程序设计期末考试试卷及答案.doc...
  3. 【离散数学中的数据结构与算法】五 排列与组合一
  4. Redis原理及拓展
  5. python log日志级别_python – 日志记录:如何为处理程序设置最大日志级别
  6. 【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记
  7. 对linux下loop设备的理解。
  8. react classname多个_React全家桶简介
  9. STL中的序列式容器——queue(队列)
  10. 通达信画线文件是在服务器吗,通达信画线工具的使用说明★★★★
  11. 控制系统设计专题(三)——自抗扰控制算法(下)
  12. 从word中复制图片到ckeditor编辑器中
  13. c语言网络套接字讲解,C语言学习笔记-网络与套接字
  14. 如何快速使计算机锁屏,电脑如何一键锁屏?有急事时如何快速锁屏?[多图]
  15. 我看技术人的成长路径
  16. python分析红楼梦中人物形象_《红楼梦》主要人物形象分析
  17. java 仿qq空间_仿QQ空间和微信朋友圈,高解耦高复用高灵活
  18. python计算机视觉学习第三章——图像到图像的映射
  19. 新浪微博 (sso package or sign error)
  20. CSS鼠标滑过div上移效果

热门文章

  1. PRML第三章之回归的线性模型
  2. 硬件设计40之什么是I2S、PCM、MP3?
  3. java工资管理系统课程设计_java课程设计工资管理系统.doc
  4. HTML5的Web SQL DataBase本地数据库增删改查
  5. 数据结构--二叉树的二叉链表实现
  6. 三菱plc pwm指令_三菱PLC初学者只要解决这50个问题,那你就觉得很容易上手?
  7. 闯关IPO,“3D云设计第一股”群核科技值不值20亿美金估值?
  8. windows 使用ACR122U-A9设备读写M1卡
  9. Android腾讯云直播开发,笔记:腾讯云直播SDK测试demo
  10. 解压rar文件压缩包时出现“An error occurred while loading the archive”的解决办法