数据存储与运算.pptx
《数据存储与运算.pptx》由会员分享,可在线阅读,更多相关《数据存储与运算.pptx(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.1 计算机中的数制2.2 计算机的存储与表示2.3 数据运算主要内容第1页/共75页2.1 计算机中的数制 在日常生活中经常要用到各种数制,最常用的是我们所熟悉的十进制记数法。除了十进制外,还有许多其他的记数方法。例如,12个月是1年,用的是十二进制;60分钟是1个小时,用的是六十进制;7天是1个星期,用的是七进制。这些记数方法都有其共同的特点和运算规律。在计算机领域常见的有二进制、八进制、十六进制等。第2页/共75页 2.1.1 进位记数制 所谓进位记数制是指按进位的原则进行记数。常用的进位记数制有十进制、二进制、八进制、十六进制等。下面首先介绍几个概念:基数:某种数制中使用的数字的个数
2、。例如:十进制数的基数是10,二进制数的基数是2,八进制数的基数是8,十六进制数的基数是16。第3页/共75页数位:在某种数制中,数字在一个数中所处的位置称为数位。例如十进制数中包含的个位(0)、十位(1)、百位(2)、千位(3)等。位值:位值也叫权(或者位权),任何一个数都是由一串数字(符号)表示的,其中每一位所表示的值除其本身的数值外,还与它所处的位置有关,由位置决定的值就叫权。不同进制中的权是不一样的,例如,十进制数中的100、101、102,二进制数中的20、21、22,八进制数中的80、81、82,十六进制中的160、161、162。第4页/共75页例 2-1 任意给定一个二进制数(
3、11011.101)2,这个数的各位权表示如下:数 1 1 0 1 1 1 0 1数位 4 3 2 1 0 -1 -2 -3权 24 23 22 21 20 2-1 2-2 2-3即(11011.101)2=124+123+022+121+120+12-1+02-2+12-3由此我们可以得出一个结论:对于M位进制,整数的权为Mi,从右向左,i=0,1,2,3;小数的权为M-i,从左向右,i=1,2,3。第5页/共75页表 2-1 常用进制及其区别第6页/共75页 2.1.2 数制之间的转换为了书写、阅读方便,用户在编程时一般使用八进制、十进制、十六进制的形式表示一个数,而计算机中存储和处理的数
4、据都为二进制数,因此各种进制的数之间经常需要转换。下面给出各种数制之间的转换方法。1.将R进制转换为十进制将R进制数转换为等值的十进制数,只要将R进制数按位权展开,再按十进制运算规则运算即可。第7页/共75页例 2-2 将二进制数(11011.101)2转换为十进制数。(11011.101)2 =124+123+022+121+120+12-1+02-2+12-3=(27.875)10例 2-3 将八进制数(1507)8转换为十进制。(1507)8=183+582+081+780 =512+320+0+7=(839)10例 2-4 将十六进制数(2AF5)16转换为十进制数。(2AF5)16=
5、2163+A162+F161+5160=8192+2560+240+5=(10997)10第8页/共75页2.将十进制转换为R进制将十进制数转换成R进制数,需要将十进制数的整数部分和小数部分分别进行转换,然后合并。1)整数部分的转换十进制数整数转换成R进制数,采用逐次除以基数R取余数的方法(简称为“除基取余”)。其步骤如下:(1)将给定的十进制整数除以R,余数作为R进制数的最低位。(2)将前一步的商再除以R,余数作为次低位。(3)重复(2)步骤,记下余数,直至最后商为0,最后的余数即为R进制的最高位。第9页/共75页2)小数部分的转换十进制数纯小数转换成R进制数,采用将小数部分逐次乘以基数R取
6、整数的方法(简称为“乘基取整”)。其步骤如下:(1)将给定的十进制数的纯小数部分乘以R,取乘积的整数部分作为R进制的最高位。(2)将前一步的乘积的小数部分继续乘以R,取乘积的整数部分作为R进制的次高位。(3)重复(2)步骤,记下整数,直至最后乘积为0或达到一定的精度为止。注意:所有的十进制整数都能准确地转换成二进制整数,而十进制小数不一定能精确地转换成二进制小数。第10页/共75页例 2-5 把十进制数(69.8125)10转换为二进制数。解:方法:整数部分除2取余,小数部分乘2取整。过程如下:第11页/共75页例2-6 把十进制数(69.8125)10转换为八进制数。解:方法:整数部分除8取
7、余,小数部分乘8取整。过程如下:第12页/共75页3.非十进制间的转换通常,可以先将被转换数转换为相应的十进制数,然后再将十进制数转换为其他进制数。例如,(19)16=(25)10=(11001)2,(11001)2=(25)10=(31)8。这是最基本的转换方法。另外,还可以利用二进制、八进制和十六进制之间的特殊关系直接进行转换。第13页/共75页下面对非十进制之间的相互转换方式进行举例介绍。1)二进制数转换为八进制数方法:从小数点开始每3位分组,不足补0,然后按照表2-3的关系进行转换。例2-8 把二进制数(11110010.1110011)2 转换成八进制数。解:1.分组:11 110
8、010.111 001 12.不足补0:011 110 010.111 001 1003.转换:3 6 2.7 1 4则:(11110010.1110011)2=(362.714)8第14页/共75页2)八进制数转换为二进制数方法:把每一位写成3位的二进制数,然后按照表2-3的关系进行转换。例2-9 把八进制数(2376.14)8 转换成二进制数。解:八进制:2 3 7 6.1 4二进制:010 011 111 110.001 100则:(2376.14)8=(10011111110.0011)2第15页/共75页3)二进制数转换为十六进制数方法:从小数点开始每4位分组,不足补0,然后按照表2
9、3的关系进行转换。例2-10 把二进制数(110101011101001.011)2 转换成十六进制数。解:1.分组:110 1010 1110 1001.0112.不足补0:0110 1010 1110 1001.01103.转换:6 A E 9.6则:(110101011101001.011)2=(6AE9.6)16第16页/共75页4)十六进制数转换为二进制数方法:把每一位写成4位的二进制数,然后按照表2-3的关系进行转换。例2-11 把十六进制数(6AE9.6)16转换成二进制数。解:十六进制数转换为二进制数:(2376.14)8=(10011111110.0011)2二进制数转换为十
10、六进制数:(10011111110.0011)2=(4FE.3)16则:(2376.14)8=(4FE.3)16第17页/共75页2.2数据的存储与表示 计算机中常用的数据类型有多种,如数值型数字、文本符号、图像、音频及视频等,如图2-1所示。图2-1第18页/共75页计算机数据用二进制表示,所以其计量单位与常用的十进制不同。计算机数据的计量单位有位、字节、字等。u位(bit),又叫做比特,记为b,就是一位二进制数据,是计算机中数据的最小单位。u字节(byte),记为B,1B由8b组成,是计算机中数据的基本存储单位。u字(word),一个字由两个以上的字节组成,不同类型的计算机有不同的字长。计
11、算机数据中KB、MB、GB的计量换算关系如下:u1B=8bu1KB=210B=1024Bu1MB=210*210B=1024KBu1GB=210*210*210B=1024MB第19页/共75页2.2.1 数字 常用的数字类型可以分为整数和实数。为了有效地利用计算机的存储空间,无符号整数和有符号整数在计算机中的存储与表示方式是不同的。1.无符号整数无符号整数无符号整数无符号整数的存储与表示无符号整数就是没有符号的整数(0+)。1)存储无符号整数在计算机中存储无符号整数需要两个步骤。(1)首先将整数变成二进制数。(2)如果二进制位数不足N位,则在二进制整数的左边补0,使它的总位数为N位。第20页
12、/共75页例2-13 将7存储在8位存储单元中。解:首先将该整数转换为(111)2;然后左侧补5个0使总位数为8位,得到(00000111)2;再将该整数保存在存储单元中。注意注意注意注意,右下角的2用于强调该整数是二进制的,并不存储在计算机中。例2-14 将258存储在16位存储单元中。解:首先把整数转换为二进制(100000010)2;然后左侧补7个0使总的位数满足16位的要求,得到(0000000100000010)2;再将该整数保存在存储单元中。第21页/共75页2)译解无符号整数 输出设备译解计算机内存中位模式的无符号整数并将之转换为一个十进制数,这个过程称为无符号整数的译解。例2-
13、15 当译解作为无符号整数保存在内存中的位串00101011时,从输出设备输出值是多少?解:二进制整数转换为十进制无符号整数:(00101011)2=(43)10则从输出设备输出值为43。第22页/共75页3 3)无符号整数的溢出因为大小(存储单元中位的数量)的限制,可以表示的整数范围是有限的。当超出存储范围的最大整数时,会发生溢出。如果用4 4 4 4位空间位空间位空间位空间存储一个无符号整数,下图显示了假如存储大于15(24-1)的整数所发生溢出的情况。第23页/共75页4)无符号整数的应用 因为不必存储整数的符号,所有分配单元都可以用来存储数字,所以无符号整数表示法可以提高存储的效率。只
14、要没有负整数的应用,就可以使用无符号整数表示法。常见的应用有计数、寻址等。第24页/共75页2.有符号整数的存储与表示 为了区别符号和数值,同时又便于计算,人们对有符号整数进行了合理的编码。常见的有原码、反码和原码、反码和原码、反码和原码、反码和补码补码补码补码三种编码方式。1)原码 原码的表示方法比较简单,用首位表示符号首位表示符号(0表示正号、1表示负号),余下各位表示数值。例2-16 假设字长是8位,写出+68和-68的原码表示。解:+68的原码可表示为:(0 0 0 01000100)2-68的原码可表示为:(1 1 1 11000100)2第25页/共75页2)反码 反码的编码方法也
15、比较简单,正数的反码和原码相同,负数的反码是在其原码基础上,除符号位外按位取反。例2-17 假设字长是8位,写出+68和-68的反码表示。解:+68的反码可表示为:(01000100)2-68的反码可表示为:(10111011011101101110110111011)2同样同样同样同样,0 0 0 0的反码也有两个,的反码也有两个,的反码也有两个,的反码也有两个,即(00000000)2和(11111111)2。第26页/共75页3)补码补码在原码和反码的基础上得到改进,它解决了原码和反码的缺点,是现在计算机中普遍采用的有符号整数表示方法。补码运算的方法有两种。(1)(1)(1)(1)按位取
16、反,并在最低位加按位取反,并在最低位加按位取反,并在最低位加按位取反,并在最低位加1 1 1 1。(2)(2)(2)(2)先对二进制整数序列从右边复制,直先对二进制整数序列从右边复制,直先对二进制整数序列从右边复制,直先对二进制整数序列从右边复制,直到有到有到有到有1 1 1 1被复制,然后对其余各位取反被复制,然后对其余各位取反被复制,然后对其余各位取反被复制,然后对其余各位取反。第27页/共75页例2-18 取整数00110110的补码。解:原模式:00110110进行补码运算:11001010例2-19 对整数00110110进行两次补码运算。解:原模式:00110110第一次补码运算:
17、11001010第二次补码运算:00110110可见,对一个整数进行两次补码运算,就可以得到原先的整数。第28页/共75页4)以二进制补码格式存储整数这一方法中,无符号整数的有效范围(02n-1)被分为2个相等的子范围。第1个子范围用来表示非负整数,第2个子范围用来表示负整数。例如,N为4,该范围是00001111。这个范围被分为两半,00000111以及10001111。这两半按照左负右正的常规互相交换,赋值给负和非负整数的位模式,如图2-3所示。图2-3 二进制补码表示法第29页/共75页以二进制补码格式存储整数二进制补码格式存储整数二进制补码格式存储整数二进制补码格式存储整数,遵循以下两
18、个步骤。第一步:将整数变为位的二进制数。第二步:如果整数是正数或零,以其原样存储正数或零,以其原样存储,如果是负数,取其补码存储负数,取其补码存储。例例例例2-21 2-21 2-21 2-21 用二进制补码表示法将整数-29存储在8位存储单元中。解:该整数是负数,因此在转换成二进制后计算机对其进行二进制补码运算。把29变为8位的二进制:00011101进行补码运算:11100011即(-29)10=(11100011)补。第30页/共75页5)以二进制补码格式还原整数以二进制补码格式还原整数,遵循以下三个步骤。第一步:如果最左位是1,取其补码,如果最左位是0,不操作。第二步:将该整数转换为十
19、进制。第三步:添加符号。第31页/共75页例2-23 用二进制补码表示法将存储在8位存储单元中的11101010 还原成整数。解:最左位是1,因此符号为负。该整数需要在转换为十进制前进行补码运算。最左位是1,符号为负:11101010进行补码运算:00010110转换为十进制:32加上符号:-32 即(11101010)补=(-32)10。第32页/共75页6)二进制补码表示法的优点用补码表示有符号整数具有两个突出的优点。(1)对任意的正、负整数,可以不加区分地进行机械式的加法运算。(2)可以用减法转化为加法,减去一个数等同于加上这个数的相反数。第33页/共75页3.实数的存储与表示一个实数包
20、括符号、整数部分和小数部分。依照小数点的位置不同,实数在计算机中表示有两种方法:小数点固定在一个位置,称为定点法;小数点位置浮动,称为浮点法浮点法。第34页/共75页1)1)浮点表示法浮点表示法允许小数点浮动允许小数点浮动,即可以在小数点的左右有不同数量的数码,这样可以有效地保证数据的精度。在浮点表示法中,无论十进制还是二进制,一个数字都由三部分组成,如图2-4所示。第一部分是符号符号,可正可负;第二部分是小数点应该左右移动构成实际数字的位移量位移量;第三部分是小数点位置固定的定点定点表示法。图2-4 浮点表示法第35页/共75页例例2-252-25 用科学记数法表示数字-0.00000000
21、000316。解:实际数字:-0.00000000000316十进制科学记数法:-3.1610-12在这个例子中,这个数字的三个部分分别是:符号(-)、位移量(-12)、定点部分(3.16)。例例2-27 2-27 用浮点格式表示数字-(0.00000000000001101)2。解:使用例2-25同样的方法,小数点前只保留一位数字。实际数字:-(0.00000000000001101)2二进制科学记数法:-1.1012-16在这个例子中,这个数字的三个部分分别是:符号(-)、位移量(-16)、定点部分(1.101)。第36页/共75页2)规范化为了使表示法的固定部分统一,十进制科学记数法和浮
22、点表示法(即二进制科学记数法)都在小数点左边使用了唯一的非零数码,这称为规范化。十进制系统中的这位非零数码可能是19,而二进制系统中该数码是1。则定点部分的表示方法都可以规范为以下形式:十进制 d.xxxxxxxxxxxxxx 注意:d是19,每个x是09。二进制 1.yyyyyyyyyyyyyy 注意:每个y是0或1。第37页/共75页3)符号、指数和尾数 在一个二进制数用浮点法表示并规范化之后,可以只存储该数的三部分信息:符号S、指数E和尾数M(小数点右边的位)。例如,+(1000111.0101)2规范化后变成为:+1.000111010126。可以只存储以下三部分以表示这个数。符号S:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 存储 运算
限制150内