大学计算机基础1.4计算机中带符号数的表示方法.ppt

上传人:w****2 文档编号:15665557 上传时间:2020-08-28 格式:PPT 页数:36 大小:481.50KB
返回 下载 相关 举报
大学计算机基础1.4计算机中带符号数的表示方法.ppt_第1页
第1页 / 共36页
大学计算机基础1.4计算机中带符号数的表示方法.ppt_第2页
第2页 / 共36页
大学计算机基础1.4计算机中带符号数的表示方法.ppt_第3页
第3页 / 共36页
点击查看更多>>
资源描述
1,1.4 计算机中带符号数的表示方法,整数可以是正的或负的。 正整数是从0到正无穷,负整数是从负无穷到0。 为了高效地利用计算机的存储空间,人们设计开发了两种使用广泛的整数表示法:无符号整数和有符号整数。,2,3,1.4.1 无符号整数的格式,无符号整数就是没有符号的整数(0正无穷大)。 由于计算机不可能表示范围内的所有整数,通常,计算机都定义了一个最大无符号整数的常量。这样,无符号整数的范围就介于0到该常量之间。 最大无符号整数取决于计算机中分配用于保存无符号整数的二进制位数。 设N是计算机中分配用于表示一个无符号整数的二进制位数,则无符号整数的范围为: 0(2N-1),4,表示法: 首先将整数变成二进制数。 如果二进制位数不足N位,则在二进制数的左边补0,使它的总位数为N位。 举例: 将9存储在8位存储单元中。 00001001 将258存储在16位存储单元中。 0000000100000010,5,两类不同的计算机中无符号整数的存储,6,溢出,如果试图存储一个超出所定义范围内的数时而发生的错误。 例如, 8位存储单元所能存放的无符号数的范围是:0(28-1),即0255 如果将258存放在8位存储单元中,就会产生溢出。,7,将无符号二进制数转换成十进制数:(同二进制到十进制的转换) 例: 将00101011转换成十进制数。 32+8+2+1=43,8,应用: 无符号整数表示法可以提高存储的效率,因为不必存储整数的符号,即所有的存储单元都可以用来存储数。 只要无需用到负数,都可以用无符号整数表示法。 计数。当计数时,不需要负数,可以从1(有时0)开始增长。 寻址。有些计算机语言,在一个存储单元中存储了另一个存储单元的地址。地址是从0(存储器的第一个字节)开始到整个存储器的总字节数的正数。,9,1.4.2 有符号数1 原码表示法,也叫符号加绝对值表示法。 用1个二进制位表示符号(0表示正,1表示负)。 则在8位存储单元中,仅仅用7位表示数的绝对值(不带符号)。 最大的正数值仅是无符号整数最大数的一半。 注意: 在原码表示法中0有两种表示法:正数0和负数0。 在8位存储单元中: 0 00000000 0 10000000,若整数的原码形式为012 n , 则原码表示的定义是,10,表示的范围:,11,表示法: 将数转换成二进制,其中符号被忽略。 如果二进制位数不足N-1,左边补0,使总的位数为N-1位。 如果是正数,则在左边加0(使它变为N位)。如果是负数,则在左边加1(使它变为N位)。 注意:在原码表示中,最左边的位用于定义数的符号。如果是0,则表示该数为正数。如果是1,则表示该数是负数。,12,例1:用原码表示法将+7存储在8位存储单元中。 (00000111)原 例2:用原码表示法将-7存储在8位存储单元中。 (10000111)原 例3:用原码表示法将-258存储在16位存储单元中。 100000010 000000100000010 (1000000100000010)原,13,两类不同的计算机中有符号整数的存储,14,将用原码表示的二进制数转换成十进制数: 忽略第一位(最左边位)。 把剩下的N-1位二进制数转换成十进制数。 再在数的最左边加上+号或-号。 例2:把(10111011)原转换成十进制数。 -59,15,采用原码表示法的优点:简单易懂, 缺点:(1) 加法运算复杂。这是因为,当两数相加时,如果是同号则数值相加;如果是异号,则要进行减法。而在进行减法时还要比较绝对值的大小,然后用绝对值大的数减去绝对值小的数,最后还要给结果选择符号。 (2) 零的原码不惟一。 为了解决这些矛盾,人们找到了补码表示法。,16,2 反码表示法,取反:将所有的0改为1,将所有的1改为0。 规定: 正数,使用原码表示法。 负数,将正数取反表示。,若整数的原码形式为012 n , 则反码表示的定义是,17,注意: 在反码表示法中0有两种表示法:正数0和负数0。 在8位存储单元中: 0 00000000 0 11111111,18,表示法: 将数转换成二进制,其中符号被忽略。 在数的左边补0,使总的位数为N位。 如果是正数,则不需变动。如果是负数,则将每一位取反(将0改为1,将1改为0 )。,19,例1:用反码表示法将+7存储在8位存储单元中。 (00000111)反 例2:用反码表示法将-7存储在8位存储单元中。 (11111000)反 例3:用反码表示法将-258存储在16位存储单元中。 100000010 0000000100000010 (1111111011111101)反,20,将用反码表示的二进制数转换成十进制数: 如果最左边的位为0(正数) 把整个二进制数转换成十进制数。 在数的最左边加上+号。 如果最左边的位为1(负数) 把整个二进制数取反。 把转换过的二进制数转换成十进制数。 在数的最左边加上-号。 例1:把(11110110)反转换成十进制数。 -9,21,注意:二进制反码表示法需要转换所有的位。 如果把正数取反,就得到相应的负数。 如果把负数取反,就得到相应的正数。 如果对一个数取两次反,就得到原来的值。,应用: 它是二进制补码的基础。,3 补码表示法,我们先以钟表对时为例说明补码的概念。假设现在的标准时间为3点正; 而有一只表已经6点了,为了校准时间,可以采用两种方法:一是将时针退 6-3=3 格;一是将时针向前拨12-3=9格。这两种方法都能对准到3点,由此可以看出,减3和加9是等价的,就是说9是(-3)对12的补码,可以用数学公式表示-3+9(mod12)mod12的意思就是12模数,这个“模”表示被丢掉的数值。上式在数学上称为同余式。 上例中其所以6-3和6+9(mod12)等价,原因就是表指针超过12时,将12自动丢掉,最后得到15-12=3。从这里可以得到一个启示,就是负数用补码表示时,可以把减法转化为加法。这样,在计算机中实现起来就比较方便。,23,3 补码表示法,若整数的原码形式为012 n , 则补码表示的定义是,24,表示法: 将数转换成二进制,其中符号被忽略。 在数的左边补0,使总的位数为N位。 如果是正数,则不需变动。如果是负数,则将各位取反,末位加1 。(或将最右边的所有0和首次出现的1保持不变,其余各位取反 ),25,例1:用补码表示法将+7存储在8位存储单元中。 (00000111)补 例2:用补码表示法将-7存储在8位存储单元中。 (11111001)补 例3:用补码表示法将-40存储在16位存储单元中。 1010000000000000101000(1111111111011000)补,26,将用补码表示的二进制数转换成十进制数: 如果最左边的位为0(正数) 把整个二进制数转换成十进制数。 在数的最左边加上+号。 如果最左边的位为1(负数) 从最右边开始到第一个1出现,这部分保持不变,其余的求反。 把转换过的二进制数转换成十进制数。 在数的最左边加上-号。,27,例1:把(11110110)补转换成十进制数。 负数 00001010 -10,28,注意:二进制求补可以通过对除了从最右边的0到第一个1(包括1)外所有的位取反来实现。 如果把正数求补,就得到相应的负数。 如果把负数求补,就得到相应的正数。 如果对一个数取两次补,就得到原来的值。,应用: 它是计算机中用于存储整数的标准表示法。 用于整数和浮点数的算术运算。 用于逻辑运算。,例将十进制真值(127,1,0,1,127)列表表示成二进制数及原码、反码、补码。 解: 二进制真值及其诸码值列于下表,其中0在原反中有两种表示。,数据表示格式有两种,定点格式 浮点格式,定点格式容许的数值范围有限,但要求的处理硬件比较简单。浮点格式容许的数值范围很大,但要求的处理硬件比较复杂。,1.定点数的表示方法,定点:小数点位置约定在固定的位置,不显式表示。 格式:012n 其中0为符号位 定点小数:小数点位于0和1之间,表数范围: 0|12n 定点整数:小数点位于n右边,表数范围: 0|2n1 目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为整数运算。,1.4.3 定点数与浮点数,浮点:小数点位置可在一定范围内移动。 目的:扩大表数范围,例如电子的质量(91028克)和太阳的质量(21033克)相差甚远,在定点计算机中无法直接来表示这个数值范围,故用浮点数表示。 浮点表示法:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,这种把数的范围和精度分别表示的方法,数的小数点位置随比例因子的不同而在一定范围内自由浮动。 任意一个十进制数 可以写成 10E. 其中:M :尾数,是一个纯小数。 E :比例因子的指数,称为浮点的指数,是一个整数。 同样,在计算机中一个任意进制数 可以写成e.m 其中:R :比例因子的基数,由于计算机采用的是二进计数值, 所以:一般规定 为2,或2的整数幂(如8或16)。,2. 浮点数的表示方法,一个机器浮点数由阶码和尾数及其符号位组成: 尾数:用定点小数表示,给出有效数字的位数决定了浮点数的表示精度; 阶码:用整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。 浮点数的表示格式:,格式1 :,阶符 阶码 尾符 尾数,浮点数所表示的范围远比定点数大。假设机器中的数由 8 位二进制数表示(包括符号位),浮点表示时,用3位表示阶码(其中含一位符号位),5位表示尾数(其中含一位符号位)。两者表示范围的比较如下表所示:,从上表看出,表示数的位数相同时,浮点表示的范围比定点表示的范围大得多。 当机器字长一定时,分给阶码的位数越多,尾数占用的位数就越少,则数的表示范围越大。而尾数占用的位数减少,必然会减少数的有效数位,即影响数的精度。若阶码和尾数各占4位,只考虑绝对值,则数的表示范围是21110.00121110.111。即为十进制数1/1024到112。这比阶码为3位时数的表示范围大得多,但尾数减少了一位,这就使尾数的精度受到了影响。,64位浮点数,63 62 52 51 0,格式2 :IEEE754标准,32位浮点数,31 30 23 22 0,其中:S符号位,0表示正,1表示负; E表示阶码 M 表示尾数,R 默认为2,正上溢出,负上溢出,下溢出机器零,可表示的正数区,可表示的负数区,虽然浮点表示能扩大数据的表示范围,但因为机器字长是有限,所以它的表数范围仍然是有限的。如果在运算过程中,出现超出机器所能表示范围的数据,绝对值太大超过表数范围称为溢出,绝对值大小超过表数范围通常当成机器零。,36,作业,二进制数11101.10101对应的十六进制数为_,它所对应的十进制数为_。 十进制数85.875对应的二进制数为_,它所对应的十六进制数为_。 有符号的十进制数+45用8位二进制数表示为_,它所对应的十六进制表示为_。 有符号的十进制数-45用8位二进制数表示为_,它所对应的十六进制表示为_。 写出+45和-45的原码、反码和补码表示。,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!