编码与运算基础

上传人:san****019 文档编号:71782416 上传时间:2019-01-21 格式:PPT 页数:31 大小:458.81KB
返回 下载 相关 举报
编码与运算基础_第1页
第1页 / 共31页
编码与运算基础_第2页
第2页 / 共31页
编码与运算基础_第3页
第3页 / 共31页
编码与运算基础_第4页
第4页 / 共31页
编码与运算基础_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《编码与运算基础》由会员分享,可在线阅读,更多相关《编码与运算基础(31页珍藏版)》请在金锄头文库上搜索。

1、第2章 编码与运算基础,学习目的: 掌握二进制编码的方法、运算规则及在计算机中的实现方法,了解冗余码的编码原理。 主要内容: 基于二进制的各种数据的编码; 数值运算规则; 基本逻辑电路; 用于检错和纠错的冗余码的编码原理。,预备知识,22=4 24=16 28=256 210=1024 220=1048576 1K= 210=1024 (Kilo) 1M=1024K= 220 (Mega) 1G=1024M= 230 (Giga) 1个二进制位:bit(比特) 8个二进制位:Byte(字节) 1Byte=8bit 2个字节:Word(字) 1Word=2Byte=16bit,为什么用二进制,2

2、.1 计算机中的数制及其转换 通常,计算机中的数据分为两类: (1)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。 (2)码:通常指代码或编码,在计算机中用来描述某种信息。 2.1.1 数制的基本概念 1数的表示 任何一种数制表示的数都可以写成按位权展开的多项式之和。 Ndn1bn1dn2bn2dn3bn3dmbm 式中:n整数的总位数。 m小数的总位数。 d下标表示该位的数码。 b表示进位制的基数。 b上标表示该位的位权。,2计算机中常用的进位计数制 计数制 基数 数 码 进位关系 二进制 2 0、1 逢二进一 八进制 8 0、1、2、3、4、5、6、7 逢八进一 十进制 10

3、0、1、2、3、4、5、6、7、8、9 逢十进一 十六进制 16 0、1、2、3、4、5、6、7、8、9 A、B、C、D、E、F 逢十六进一 3计数制的书写规则 (1)在数字后面加写相应的英文字母作为标识。 如:二进制数的100可写成100B 十六进制数100可写成100H (2)在括号外面加数字下标。 如:(1011)2 表示二进制数的1011 (2DF2)16 表示十六进制数的2DF2,2.1.2 数制之间的转换 (1)十进制整数转换为二进制整数 采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。 (2)十进制小数转化为二进制小数 连续用基数2去乘以该十进制小数,直至

4、乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。 (3)十进制整数转换为八进制整数或十六进制整数 采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。 (4)十进制小数转换为八进制小数或十六进制小数 连续用基数8或基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。,(5)二、八、十六进制数转换为十进制数 用其各位所对应的系数,按“位权展开求和”的方法就可以得到。其基数分别为2、8、16。 (6)二进制数转换为八进制数 从小数点开始分别向左或向右,将每3位二进制数分成1组,不足3位数的补0,然后将每组用1位八

5、进制数表示即可。 (7)八进制数转换为二进制数 将每位八进制数用3位二进制数表示即可。 (8)二进制数转换为十六进制数 从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。 (9)十六进制数转换为二进制数 将每位十六进制数用4位二进制数表示即可。,【例2.1】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下: 2 105 2 52 余数为1 2 26 余数为0 2 13 余数为0 2 6 余数为1 2 3 余数为0 2 1 余数为1 0 余数为1 所以,(105)10(1101001)2,【例2.2】将十进制小

6、数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下: 0.812521.625 取整数位1 0.62521.25 取整数位1 0.2520.5 取整数位0 0.521.0 取整数位1 所以,(0.8125)10(0.1101)2 如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。,【例2.3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下: 16 2347 16 146 余数为11(十六进制数为B) 16 9 余数为2 0 余数为9 所以,(2347)10(92B)16,3补码 正数的补码与其原码相同,负

7、数的补码为其反码在最低位加1。 【例2.15】(1)X1011011 ,求其原码、补码。 有:X原码01011011 X补码01011011 (2)Y1011011,求其原码、补码。 有:Y原码11011011 Y反码10100100 Y补码10100101 补码表示的整数范围是2n-1(2n-11),n为机器字长。 则:8位二进制补码表示的整数范围是128 127 16位二进制补码表示的整数范围是32768 32767 当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,?,2.2 计算机中数值数据的表示,2.2.1 基本概念 在计算机内部表示二进制数的方法称为数值编码,把一个数及

8、其符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。 表示一个机器数,应考虑以下三个因素: 1机器数的范围 字长为8位,无符号整数的最大值是(11111111)B=(255)D,此时机器数的范围是0255。 字长为16位,无符号整数的最大值是 (1111111111111111)B=(FFFF)H=(65535)D 此时机器数的范围是065535。,2机器数的符号 在算术运算中,数据是有正有负的,将这类数据称为带符号数。 为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。 3机器数中小数点的位置 在机器中,小数点的位置通常有

9、两种约定: 一种规定小数点的位置固定不变,这时的机器数称为“定点数”。 另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。,2.2.2 计算机中的数 1原码 正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。 【例2.13】当机器字长为8位二进制数时: X1011011 X原码01011011 Y 1011011 Y原码11011011 1原码00000001 1原码10000001 127原码01111111 127原码11111111 原码表示的整数范围是: (2n-11)(2n-11),其中n为机器字长。 则:8位二进

10、制原码表示的整数范围是127127 16位二进制原码表示的整数范围是3276732767,2反码 对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。 【例2.14】当机器字长为8位二进制数时: X1011011 X原码01011011 X反码01011011 Y1011011 Y原码11011011 Y反码10100100 1反码00000001 1反码11111110 127反码01111111 127反码10000000 负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。 反码表示的整数范围与原码相同。,3补码 正数的补码与

11、其原码相同,负数的补码为其反码在最低位加1。 【例2.15】(1)X1011011 (2) Y1011011 (1)根据定义有: X原码01011011 X补码01011011 (2) 根据定义有: Y原码11011011 Y反码10100100 Y补码10100101 补码表示的整数范围是2n-1(2n-11),其中n为机器字长。 则:8位二进制补码表示的整数范围是128127 16位二进制补码表示的整数范围是3276832767 当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。,4补码与真值之间的转换,正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末

12、位加1,即可得到该负数补码对应的真值的绝对值。 【例2.16】X补码01011001B,X补码11011001B,分别求其真值X。 (1)X补码代表的数是正数,其真值: X1011001B (126124123120) (641681) (89)D (2)X补码代表的数是负数,则真值: X(1011001求反1)B (01001101)B (0100111)B (125122121120) (32421) (39)D,2.2.3 定点数和浮点数表示,1定点数 由于定点位置不同,一般又分为两种情况。 对于整数,小数点约定在最低位的右边,称为定点整数。对于纯小数,小数点约定在符号位之后,称为定点小

13、数。 2浮点数 如果要处理的数既有整数部分,又有小数部分,则采用定点数会遇到麻烦。为此可以采用浮点数,即小数点的位置不固定。,进位与溢出的概念,两数相加,结果超过定点数字位能够表示的无符号数范围(最高位产生进位),称为进位。 两数相加,结果超过定点数字位能够表示的有符号数范围(与进位无关),称为溢出。 计算机中减法出现借位时等同于进位。,进位与溢出的例子,42H+55H=97H C=0,O=1; 42H-55H=42H+(-55H) =42H+0ABH=0EDH=-13H C=0,O=0; -42H+55H=(-42H)+55H =0BEH+55H=113H C=1,O=0 -42H-55H=

14、(-42H)+(-55H) =0BEH+0ABH=169H C=1,O=1,2.3 字符编码 2.3.1 美国信息交换标准代码(ASCII码),ASCII(American Standard Code for Information Interchange)码 是美国信息交换标准代码的简称,用于给西文字符编码; 包括英文字母的大小写、数字、专用字符、控制字符等;这种编码由7位二进制数组合而成,可以表示128种字符; 在ASCII码中,按其作用可分为: 34个控制字符; 10个阿拉伯数字 52个英文大小写字母; 32个专用符号,2.3.2 二十进制编码BCD码,BCD(Binary-Coded Decimal)码又称为“二十进制编码”,专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。 1压缩BCD码 每一位数采用4位二进制数来表示,即一个字节表示2位十进制数。例如:二进制数10001001B,采用压缩BCD码表示为十进制数89D。 2非压缩BCD码 每一位数采用8位二进制数来表示,即一个字节表示1位十进制数。而且只用每个字节的低4位来表示09,高4位为0。 例如:十进制数89D,采用非压缩BCD码表示为二进制数是: 0000100

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号