《计算机接口技术及应用》课件-1.4无符号数和有符号数_第1页
《计算机接口技术及应用》课件-1.4无符号数和有符号数_第2页
《计算机接口技术及应用》课件-1.4无符号数和有符号数_第3页
《计算机接口技术及应用》课件-1.4无符号数和有符号数_第4页
《计算机接口技术及应用》课件-1.4无符号数和有符号数_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及应用第一章认识二进制第四讲无符号数和有符号数同学们好,下面我们来学习二进制的无符号数和有符号数的表示无符号数和有符号数首先来看一下二进制的性质,它包括无符号数和有符号数,二进制的性质无符号数有符号数无符号数顾名思义就是它只表示正数和0,表示不了负数也就是说这个无符号数中所有的比特位都表示数据本身无符号数经常用于各种编码,各种编码都视为是无符号数,二进制的性质无符号数有符号数无符号数和有符号数正数和0所有比特位表示数据本身用于各种编码有符号数会使用其中的一个比特位来表示它的性质,也就是说它是正数还是负数或者是0,有符号数常用在各种算术运算中二进制的性质无符号数有符号数无符号数和有符号数使用一个比特位表示性质正数、负数和0常用于各种算术运算我们以八比特的二进制整数为例来说明无符号数和有符号数的区别,无符号数和有符号数八比特的二进制整数上面这个例子是无符号数,对于八比特的无符号数来说,它能够表示的值的范围最小是0,最大是255。为什么是0~255呢?我们来仔细看一下由于这是八个比特的二进制整数,你可以把小数点看做是在八个比特的最右边,而且它又是无符号数,也就是说所有的八个比特位都是用来表示数值大小的那我们就可以利用前面学习的二级制转十进制的方法计算一下无符号数0~255小数点数值位无符号数当所有的位都是0的时候,是它表示的最小的数,这个数是00~255小数点数值位000000000最小的数无符号数当所有的位都是1的时候,是它表示的最大的数,我们可以用权表达式计算一下,这个数是255,0~255小数点数值位111111111x27+1x26+1x25+1x24+1x23+1x22+1x21+1x20=255最大的数有符号数有符号数就不一样了,它的最高位是符号位,这一位只用来表示数的性质,而不用来表示数的大小,其他的七位才用来表示数值的大小,这样的话,它能表示的数值的范围就不同了符号位表示数的性质数值位有符号数当符号位为零,所有的位都为零的时候,他表示的就是零,符号位数值位000000000有符号数当符号位为零,所有的位都为一的时候,他表示的是正的最大值为127符号位数值位011111111x26+1x25+1x24+1x23+1x22+1x21+1x20=127正的最大值有符号数当符号位为一,所有的位为零的时候,它表示的是负的最小值是-128符号位数值位10000000-128负的最小值有符号数当符号位为1,所有的位为1的时候,它表示的是负的最大值是-1符号位数值位11111111-1负的最大值有符号数所以有符号的数,它能够表示的范围是-128到正的127说到这里呀,同学们就会问了,老师,0~127的表示我们可以用权表达式计算,这个没有问题,但是,-1~-128这个是怎么算的呢?符号位数值位-128~1270~127:用权表达式计算-1~-128怎么算有符号数这其实就是补码,我们在后面会详细的讲解。由于有符号数能够表示正和负,所以使用它进行算术运算会更方便符号位数值位-128-1270~127:用权表达式计算-1~-128:补码有符号数能表示正和负,进行算术运算会更方便在进行进一步学习之前,老师要提一下计算机能力的局限性计算机能力的局限性随着技术的不断进步,计算机的运算能力越来越强,主要体现在它的计算速度越来越快,它在单位时间内处理数据的能力越来越强,但是,我们始终要知道,计算机不是什么事情都能做的。这就是它的一些局限性,比如说计算机无法解决设计不出算法的问题,无法解决设计不出算法问题如果我们想让计算机来解决一个问题,首先要告诉计算机这个问题要如何解决,如何解决的这个思路就是我们说的算法。告诉计算机这个问题要如何解决如何解决算法比如,把大象放进冰箱,这个经典的问题,它的算法就是三步,第一步把冰箱门打开,第二步,把大象放进冰箱,第三步,把冰箱门关上。计算机按照这个步骤一步一步的去做,最终会给你一个结果。把大象放进冰箱把冰箱门打开把大象放进冰箱把冰箱门关上同学们会说,这不就是程序吗?程序是用具体的编程语言实现的算法,例如,你可以用C语言,汇编语言或者其他的语言写把大象放进冰箱的程序。把大象放进冰箱把冰箱门打开把大象放进冰箱把冰箱门关上这不就是程序吗?同学们会说,这不就是程序吗?程序是用具体的编程语言实现的算法,例如,你可以用C语言,汇编语言或者其他的语言写把大象放进冰箱的程序。程序是用具体的编程语言实现的算法C语言汇编语言其他语言算法是真正解决问题的方法,而程序只是用计算机能看懂的语言告诉计算机怎么做而已。解决问题的方法算法用计算机能看懂的语言告诉计算机怎么做程序但是,如果对于一个问题,你设计不出解决它的算法,那么计算机就没有办法去解决这个问题,计算机的第二个局限性就是计算机没有办法处理无穷的运算或连续变化的运算,无穷的运算这个好理解,既然是无穷的,那么计算机算到天荒地老也没有结果。无法解决无法设计出算法的问题无法处理无穷运算或连续变化的信息我们都知道计算机能够处理的是数字量,也就是0101这样的比特,所以输入给计算机的一定是数字量,但是,如果你要处理信息是连续变化的量,我们也跟它叫做模拟量,计算机就没有办法处理。数字量和模拟量的区别就是精度,能处理数字量(0101)不能处理模拟量(连续变化的量)精度模拟量的精度是无穷小,但是数字量的精度是可以量化的。精度无穷小模拟量精度可量化数字量比如我们要计算1/3的结果,如果你用数字量,那么小数点后精确到10位,那就是10位,第11位表示不了了。但是模拟量呢,那这个值后面就是无穷多个小数位。计算1/3小数点后精确到几位就是几位数字量数值后面就是无穷多个小数位模拟量对于我们现阶段来说,计算机的局限性主要体现在它能够表示的数是有限的,能表示的数有限计算机在出厂的时候就会说明它表示的字长,例如,8位机,32位机和64位机,说的就是字长,就是它的一个存储单元能够存储多少个比特。出厂时说明所表示的字长8位机32位机64位机字长:一个存储单元能存储多少比特比如说如果是八位机,那就是说他的一个存储单元是八个比特一旦你要表示的数超过了这个范围,那么就会产生溢出,溢出后,会导致后面的运算可能是错误的,八位机无符号数的最大值:11111111有符号正数的最大值:01111111一个存储单元是八个比特超过范围则产生溢出,导出结果错误所以我们在运算的时候尽量要考虑到你运算的结果的大小,如果你预料到运算的结果可能一个单元存不下了,那么你就要用多几个单元去存放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论