• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5200 个
工控威望: 7423 点
下载积分: 158809 分
在线时间: 3162(小时)
注册时间: 2007-11-21
最后登录: 2024-11-26
查看sjm213的 主题 / 回贴
楼主  发表于: 2013-03-18 17:44
一、数制与码制

1- 基本概念
不同的数码可以用来表示数量的不同大小。用数码表示数量大小时,仅用一位数码往往不够用,因此经常需要用进位计数制的方法组成多位数码使用。
把多位数码中每一位的构成方法以及从低位到高位的进位规则称为数制。在数字电路中经常使用的计数进制有十进制、二进制和十六进制。有时也用到八进制。
不同的数码不仅可以用来表示数量的不同大小,而且可以用来表示不同的事物或事物的不同状态。在用于表示不同事物的情况下,这些数码已经不再具有表示数量大小的含义了,它们只是不同事物的代号而已。这些数码称为代码。
为了便于记忆和查找,在编制代码时总要遵循一定的规则,这些规则就称为码制。

2- 几种常用的数制



4. 十六进制数(Hexadecimal)
十六进制数的进位规则是“逢十六进一” ,其进位基数R=16,采用的16个数码为0、 1、 2、…、 9、A、 B、 C、 D、 E、 F。 符号A~F分别代表十进制数的10~15。每位的权是16的幂。
任何一个十六进制数, 可以表示为:
  

5. 不同进制数的对照表

sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5200 个
工控威望: 7423 点
下载积分: 158809 分
在线时间: 3162(小时)
注册时间: 2007-11-21
最后登录: 2024-11-26
查看sjm213的 主题 / 回贴
1楼  发表于: 2013-03-18 17:46
3- 不同数制之间的转换
1. 其它进制转换为十进制
方法是:将其它进制按权位展开,然后各项相加,就得到相应的十进制数。
例1: N=(10110.101)B=(?)D
按权展开N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3
         =16+4+2+0.5+0.125
=(22.625)D
例2: N=(532.8)H=(?)D
按权展开N=5*162+3*161+2*160+8*16-1
         =1280+48+2+0.5
=(1330.5)D
2. 将十进制转换成其它进制  
方法是:将十进制数分整数部分和小数部分分别计算。
整数部分:(基数除法)
把我们要转换的数除以新的进制的基数,把余数作为新进制的最低位;
把上一次得的商在除以新的进制基数,把余数作为新进制的次低位;
继续上一步,直到最后的商为零,这时的余数就是新进制的最高位。


注意:小数部分取整的过程,不一定能使最后乘积为0,因此转换值存在误差。通常在二进制小数的精度已达到预定的要求时,运算便可结束。


3. 二进制与八进制、十六进制之间的转换
八进制数和十六进制数的基数分别为8=23,16=24, 所以三位二进制数恰好相当一位八进制数,四位二进制数相当一位十六进制数,它们之间的相互转换是很方便的。
二进制数转换成八进制数的方法是从小数点开始,分别向左、向右,将二进制数按每三位一组分组(不足三位的补0),然后写出每一组等值的八进制数。
二进制数转换成十六进制数的方法和二进制数与八进制数的转换相似,从小数点开始分别向左、向右将二进制数按每四位一组分组(不足四位补0),然后写出每一组等值的十六进制数。
例:

本帖最近评分记录:
  • 下载积分:+5(铭杰工控) 好贴!
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158809 分
    在线时间: 3162(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-26
    查看sjm213的 主题 / 回贴
    2楼  发表于: 2013-03-18 17:48
    4- 二进制算术运算
    当两个数码分别表示两个数量大小时,它们可以进行数量间的加、减、乘、除等运算。这种运算称为算术运算。
    因电脑和数字设备普遍采用二进制运算,本节只探讨二进制的算术运算。
    1. 二进制算术运算的特点
    二进制算术运算和十进制算术运算规则基本相同,区别是“逢二进一”。


    由上图可见二进制的乘法和除法有以下特点:
    二进制的乘法运算可以通过若干次的“被乘数(或0)左移1位”和“被乘数(或0)与部分积相加”这两种操作完成;
    二进制数的除法运算能通过若干次的“除数右移1位”和“从被除数或余数中减去除数”这两种操作完成。
    如果我们能设法将减法操作转化为某种形式的加法操作,那么加、减、乘、除运算就全部可以用"移位"和"相加"两种操作实现了。为了解决这个问题,计算机引入了原码、反码和补码的概念。
    2. 原码、反码、补码和补码运算
    二进制数的正、负表示方法通常采用的是在二进制数的前面增加一位符号位。这种形式的数称为原码。符号位为0表示这个数是正数,符号位为1表示这个数是负数。其余各位表示数值。
    在做减法运算时,如果两个数是用原码表示的,则首先需要比较两数绝对值的大小,然后以绝对值大的一个作为被减数、绝对值小的一个作为减数,求出差值,并以绝对值大的一个数的符号作为差值的符号。
    这个操作过程比较麻烦,而且需要使用数值比较电路和减法运算电路。如果用两数的补码相加代替上述减法运算,则计算过程中就无需使用数值比较电路和减法运算电路了,从而使减法运算器的电路结构大为简化。
    补码的原理可参考其他电子书籍,正负数的反码和补码的计算原则如下:
    反码:正数的反码等于原码,负数的反码:符号位不变,以下各位按位取反。
    补码:正数的补码等于原码,负数的补码:符号位不变,以下各位按位取反,最后加1。一个数补码的补码即为其原码。
    例:带符号位二进制数00011010(+26)、10011010(-26)、00101101(+45)、和10101101(-45)的反码和补码。



    在计算机系统中,数值一律用补码来表示(存储)。
    补码的优点主要有:
        使符号位能与数值位部分一起参加运算,从而简化运算规则;
        使减法运算转换为加法运算,从而简化计算机中运算电路的设计;
        两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃;
        补码转换为对应的十进制数时正负数规则一样 ;
        0的补码是唯一的。如0的5位补码是00000。
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158809 分
    在线时间: 3162(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-26
    查看sjm213的 主题 / 回贴
    3楼  发表于: 2013-03-18 17:51
    5- 几种常见的编码
    1. 十进制编码
    用四位二进制码的10 种组合表示十进制数0~9,简称BCD码(Binary Coded Decimal)。   这种编码至少需要用四位二进制码元,而四位二进制码元可以有 16 种组合。当用这些组合表示十进制数0~9时, 有六种组合不用。由 16 种组合中选用 10 种组合。
    8421BCD码是最基本和最常用的BCD码, 它和四位自然二进制码相似, 各位的权值为8、 4、 2、 1, 故称为有权BCD码。和四位自然二进制码不同的是, 它只选用了四位二进制码中前 10 组代码,即用0000~1001分别代表它所对应的十进制数, 余下的六组代码不用。
    下表为其他常用BCD码,但在PLC中一般BCD码仅指8421码。


    2. 格雷码(Gray Code)
    格雷码又称循环码。每一位的状态变化都按一定的顺序循环。如果从0000开始,最右边一位的状态按0110顺序循环变化,右边第二位的状态按00111100顺序变化,右边第三位按0000111111110000顺序循环变化。
    它的特点是:自右向左,每一位状态状态中连续的0、1数目增加一倍;编码顺序依次变化时,相邻两个代码之间只有一位发生变化。
    格雷码消除了随机取数时出现重大错误的可能,其反射和自补特性使得对其进行求反操作也非常方便,所以,格雷码属于一种可靠性编码,是一种错误最小化的编码方式,因此格雷码在通信和测量技术中得到广泛应用。工控行业中格雷码的典型应用是绝对值编码器。


    二进制格雷码(GRY)与自然二进制码(BIN)的互换:
    ①自然二进制码转换成二进制格雷码
    自然二进制码转换成二进制格雷码,其法则是保留自然二进制码的最高位作为格雷码的最高位,而次高位格雷码为二进制码的高位与次高位相异或,而格雷码其余各位与次高位的求法相类似。


    3. 美国信息交换标准代码(ASCⅡ)
    ASCII码是一组7位二进制代码,主要用于表示各种字符。ASCII码共128个,其中包括表示0~9的十个代码,表示大、小英文字母的52个代码,32个表示各种符号的代码及34个控制码。它可以用于通讯信息的传输和控制。

    客居他乡
    级别: 略有小成
    精华主题: 0
    发帖数量: 363 个
    工控威望: 456 点
    下载积分: 1117 分
    在线时间: 146(小时)
    注册时间: 2010-07-23
    最后登录: 2023-03-28
    查看客居他乡的 主题 / 回贴
    4楼  发表于: 2013-03-18 22:12
    谢谢。学习了。
    loio
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 168 个
    工控威望: 1305 点
    下载积分: 95627 分
    在线时间: 341(小时)
    注册时间: 2008-04-23
    最后登录: 2019-09-21
    查看loio的 主题 / 回贴
    5楼  发表于: 2013-04-02 20:21
    学习,谢谢!版主辛苦了
    ymr78419972
    宿命的轮回注定了要让我们去追逐那些难以企及却又十分向往的美丽
    级别: 工控侠客
    精华主题: 0
    发帖数量: 588 个
    工控威望: 2719 点
    下载积分: 16620 分
    在线时间: 270(小时)
    注册时间: 2009-05-10
    最后登录: 2024-11-16
    查看ymr78419972的 主题 / 回贴
    6楼  发表于: 2013-04-03 16:57
              
    山河今仍在,壮志在何方?
    feng-xing
    级别: 略有小成
    精华主题: 0
    发帖数量: 90 个
    工控威望: 222 点
    下载积分: 4364 分
    在线时间: 56(小时)
    注册时间: 2012-07-09
    最后登录: 2020-02-18
    查看feng-xing的 主题 / 回贴
    7楼  发表于: 2013-04-03 19:03
    学习了,下面例题中好像少了乘号。3- 不同数制之间的转换
    1. 其它进制转换为十进制
    方法是:将其它进制按权位展开,然后各项相加,就得到相应的十进制数。
    例1: N=(10110.101)B=(?)D
    按权展开N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3
             =16+4+2+0.5+0.125
    =(22.625)D
    例2: N=(532.8)H=(?)D
    按权展开N=5*162+3*161+2*160+8*16-1
             =1280+48+2+0.5
    =(1330.5)D
    铭杰工控
    温岭市正凯自动化设备有限公司
    级别: 网络英雄

    精华主题: 0
    发帖数量: 1977 个
    工控威望: 6488 点
    下载积分: 966 分
    在线时间: 1080(小时)
    注册时间: 2009-01-13
    最后登录: 2024-11-23
    查看铭杰工控的 主题 / 回贴
    8楼  发表于: 2013-04-03 19:58
    好贴要顶一下
    温岭市正凯自动化设备有限公司  15057679726
    全自动换箱机 催化剂再生、处置智能装备 MES软件 WCS软件 注塑工厂整体智能化解决方案    重载桁架机械手
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158809 分
    在线时间: 3162(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-26
    查看sjm213的 主题 / 回贴
    9楼  发表于: 2013-04-03 20:59
    引用
    引用第7楼feng-xing于2013-04-03 19:03发表的  :
    学习了,下面例题中好像少了乘号。3- 不同数制之间的转换
    1. 其它进制转换为十进制
    方法是:将其它进制按权位展开,然后各项相加,就得到相应的十进制数。
    例1: N=(10110.101)B=(?)D
    按权展开N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3
    .......

    这应该用图片传上来,实际应该是n次方,请注意:
    例1: N=(10110.101)B=(?)D
    按权展开N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3
             =16+4+2+0.5+0.125
    =(22.625)D
    例2: N=(532.8)H=(?)D
    按权展开N=5*162+3*161+2*160+8*16-1
             =1280+48+2+0.5
    =(1330.5)D
    bcyplc
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看bcyplc的 主题 / 回贴
    10楼  发表于: 2013-04-08 09:18
    很实用的基础知识,学习了。谢谢!
    ying-feng
    一般情况下人的眼睛是黑的,心是红的;要是眼睛变红了心就会变黑
    级别: 家园常客
    精华主题: 0
    发帖数量: 460 个
    工控威望: 648 点
    下载积分: 2649 分
    在线时间: 182(小时)
    注册时间: 2011-08-12
    最后登录: 2024-05-04
    查看ying-feng的 主题 / 回贴
    11楼  发表于: 2013-04-08 09:46
    非常感谢,我顶一下
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go