数字电路基础知识——数字IC中的进制问题(原码,反码,补码以及各进制的转换)

本节介绍数值和码制的问题,重点需要理解的是关于补码的相关知识。

一、进制的表示
  1. 以10、2进制为例:
    对于10进制数123.45:

    对于 整数 n 位,小数 m 位 2进制:

    因此,对于一个整数 n 位,小数 m 位 的 r 进制
二、进制的转换
  1. 十进制数转化为R进制数:
    整数部分,除R取余法,除到商为0为止。
    小数部分,乘R取整法,乘到积为1为止。

    如:
    127 = 0111_1111
    -127 = 1111_1111
    127.375 = 0111_1111.011
    -127.375 = 1111_1111.011

  2. 二进制转化为十进制:
    按权的展开利用上面的展开式进行计算。
    如:

  3. 八进制、十六进制与二进制的转换
    二进制,从小数点开始,向左或向右四位为十六进制,三位为八进制
    如:

三、原码,反码,补码,符号-数值码。

以4bit为例,给出各自表示的数值范围。

  1. 原码
    符号位+真值,最高位表示符号位。
    0表示正数,1表示负数
    [+3]原 = 0011
    [-3]原 = 1011
    原码中0000和1000都表示0
    一个n bit位的有符号数,他表示的范围是 -2n-1~2n-1

  2. 反码
    正数的反码是它本身,负数的反码将原码除符号位外逐位取反。
    [+3]原 = [0011]原 = [0011]反
    [-3]原 = [1011]原 = [1100]反
    表示范围:-7到+7
    反码中0000和1111都表示0。
    一个n bit位的有符号数,他表示的范围是 -2n-1~2n-1

  3. 补码
    正数的补码是它本身,负数的补码将原码除符号位外逐位取反再加1。以4bit为例。
    负数的补码这种原理:是因为一个n位的符号负数X,和X+2n-1是同模的。
    如:
    四位有符号数-6(1110)和-6 + 8 = 2(0010是同模的)

    取反操作,相当于加2n-1-1,所以还需要再加1
    [+3]原 = [0011]原 = [0011]反 = [0011]补
    [-3]原 = [1011]原 = [1100]反 = [1101]补
    表示范围:-8到+7
    补码中0的表示只有一种形式,即0000, 1000表示-8
    一个n bit位的有符号数,他表示的范围是 -2n-1~2n-1-1

以上是有符号数,对于无符号数来说都是来表示整数,其原码、反码、补码都是其本身。

对于三位二进制带符号的原码、补码、反码对照表

十进制数 原码 反码 补码
+7 0111 0111 0111
+6 0110 0110 0110
+5 0101 0101 0101
+4 0100 0100 0100
+3 0011 0011 0011
+2 0010 0010 0010
+1 0001 0001 0001
+0 0000 0000 0000
-1 1001 1110 1111
-2 1010 1101 1110
-3 1011 1100 1101
-4 1100 1011 1100
-5 1101 1010 1011
-6 1110 1001 1010
-7 1111 1000 1001
-8 1000 1111 1000

需要特别注意的是+0 -8 两个数的码制。
原码和补码是自己的有正数0、和 2n-1、-4

四、码制的运算
  1. 原码运算
    首先符号位不参与运算,单独处理
    设A、B表示绝对值,有下列两大类八种情况
    第一种:
    (+A) + (+B) = (+A) - (-B)
    (-A) + (-B) = (-A) - (+B)
    同符号数相加或者异号数相减,运算规则为绝对值相加,取被加数或被减数的符号
    第一种:
    (+A) - (+B) = (+A) + (-B)
    (-A) - (-B) = (-A) + (+B)
    同符号数相减或者异号数相加,运算规则为绝对值相减,取绝对值较大的符号
    例:

  2. 补码运算
    补码加减运算规则:
    补码的符号位参与加减运算并且符号位有进位时,应当舍弃。
    对于补码的这种运算规则,在计算机系统中位“模数系统”,如四位的 8 + 9 = 17 与 1 是相同的结果,那么17 和 1 为同余。

    例:

  3. 反码运算
  4. 当符号位有进位时,应在结果的最低位加 1 , (循环进位)

    例:

五、常用的码制
  1. BCD码:
    四位二进制数来表示一位十进制数0~9的十个状态的编码,如下:
  2. 格雷码:
    格雷码的每一位按照一定的顺序循环。如最右边的一位按照0110的顺序循环,右边第二位按照00111100的顺序循环。即自右向左0、1的循环数目翻倍。
    格雷码的最主要特点:各个相邻码之间仅有一位状态不同,首尾也是仅有一位状态不同。

数字电路基础知识——数字IC中的进制问题(原码,反码,补码以及各进制的转换)相关推荐

  1. java进制原码_Java 一一 进制、原码 反码 补码、移位操作

    进制 二进制 和 十进制 相互转换 十进制 和 十六进制 相互转换 原码,反码,补码 原码.反码.补码: 在计算机内, 有符号数有三种表示法: 原码, 反码, 补码. 所有的数据的运算都是采用 补码 ...

  2. 补码原码转换c语言代码,c/c++原码反码补码原理 以及进制转换

    1首先了解 低字节位 和高字节位 看图 2字节在内存的排列方式//int num = 010; //0开头代表 8禁止 //("%d",num); //所以打印的是8 int nu ...

  3. python二进制反码例题_python中的进制转换和原码,反码,补码

    python中的进制转换和原码,反码,补码 计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1Byte = 8 bit #一个字节等于8位 可以简写成 1B = 8b 1KB ...

  4. Verilog基础知识(数值表示总结,signed,原码,反码,补码)

    以前虽然是用过verilog,但是只使用了其中最常见wire,reg类型数据,并且是无符号的,因为是及处理过程很多数据就是无符号的.但是想进一步拓展无符号数,或者其底层的补码形式存储与运算方式,就需要 ...

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

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

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

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

  7. java基础-原码反码补码

    本文帮助理解,Java中原码反码补码的原理 1:原码反码补码,基础概念和计算方法 对于一个数,计算机需要使用一定的编码方式进行存储.原码反码补码是计算机存储一个具体数字的编码方式. 原码: 第一位表示 ...

  8. 【原码, 反码, 补码的基础概念和计算方法】

    数值在计算机中是以补码的方式存储的,在探求为何计算机要使用补码之前, 让我们先了解原码, 反码和补码的概念. 原码就是符号位加上数字的二进制表示, 即用第一位表示符号, 其余位表示值. 反码的表示方法 ...

  9. 大端 小端 原码 反码 补码 及内存中的表现

    小端 和 大端 在内存中存储时,都是从内存的低地址往高地址存,即0x00000000 -> 0xffffffff 以汉字 "严"为例,Unicode码是4E25,需要两个字节 ...

  10. 进制之间的快速转换法:8421码及原码反码补码之间的相互转换关系

    进制之间的快速转换法: 十进制和二进制的指尖的快速转换法: 8421码,是BCD码的一种 二进制数据中的每个位上的1,都代表一个固定的数值,将固定的数值相加即可! 二进制: 1 1 1 1 1 1 1 ...

最新文章

  1. RT3070_STA_驱动移植文档
  2. linux c++连接mysql示例
  3. Ubuntu下安装和配置Apache及Apache2
  4. JavaScript多继承(转载)
  5. php实现微信红包金额随机分配的函数
  6. 用matlab解根3乘根2,数值计算课后习题答案--石瑞民.doc
  7. 央视推荐的护眼台灯是什么牌子?教育照明灯具品牌
  8. 南京财经大学计算机考研资料汇总
  9. excel文件服务器未响应,excel打不开文件未响应怎么处理-处理excel无法打开文件未响应的方法 - 河东软件园...
  10. 【精益生产】108页PPT搞懂精益生产价值流分析图(VSM)
  11. P2440 木材加工
  12. windows 10如何设置局域网共享文件夹,详细教程
  13. 联想thinkbook16+ 2023款和2022款参数对比
  14. EXE转JPG后缀格式工具(真实JPG后缀)
  15. 金融事业部QA培训体系
  16. 智能运维案例系列 | 新网银行 X 袋鼠云:银行核心业务系统日志监控平台建设实践...
  17. 美国把一名俄罗斯黑客告上法庭 4年前曾入侵LinkedIn
  18. 实例讲解将Graph Explorer搬上JupyterLab
  19. okhttp3基本用法
  20. 如何做一个自动重复发消息的脚本

热门文章

  1. 一文读懂机器学习(转)
  2. JAVA JVM优化总结
  3. Coremail邮件安全:2022重保最新钓鱼案件典型攻击手法复盘
  4. 个人微信api接口调用,拉取微信朋友圈、发朋友圈
  5. 如何使用xshell4连接自己搭建的服务器
  6. 过程工业中的smartLink HART-IP
  7. 学计算机专科好还是牙医好,孩子明年高考,牙科、计算机两个专业,怎么选?...
  8. Cron在线表达式生成器常用表达式
  9. php 车牌号 正则,php正则验证车牌格式的函数
  10. golang c10k问题