ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:117.03KB ,
资源ID:9989390      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9989390.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机中数的表示及运算.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机中数的表示及运算.docx

1、计算机中数的表示及运算计算机中数的表示及运算张晓军 编写引言 人类在文字出现以前,就已经会用道具(如绳子打结)计数了.在日常生活中,我们每天都在与数字打交道,而数字与数制是密不可分的.比如:60秒为1分,60分为1小时,其特点是逢60进1,可取的数字是0,1,2,.,59,共有60个,这就是六十进制.再比如:24小时为1天,这是24进制;7天为1星期,这是7进制;12个为1打,这是12进制;10mm为1cm,10cm为1dm,10dm为1m,这是我们最为熟悉的10进制.不管是什么进制,其基数(如60进制的基数就是60,10进制的基数就是10)正好等于该数制中不同数字符号的个数(如60进制中采用

2、0,1,2,.,59共60个不同的数字符号,10进制中采用0,1,2,.,9共10个不同的数字符号).一、常用数制及其相互转换 在数制系统中,各位数字所表示的值不仅与该数字有关,而且与它所在的位置有关.例如,在10进制数123中,百位上的1表示1个100,十位上的2表示2个10,个位上的3表示3个1,因此,有:123=1*100+2*10+3*1,其中100,10,1被称为百位、十位、个位的权。十进制中,个、十、百、千、万等各数位的权分别是1,10,100,1000,10000,一般地,写成10的幂,就是100,101,102,103,104,;10则被称为十进制的基数1.1 十进制数特点:采

3、用0,1,2,3,4,5,6,7,8,9共10个不同的数字符号,并且是逢十进一,借一当十.对于任意一个十进制数,都可以表示成按权展开的多项式。例如:1999=1*103+9*102+9*101+9*1002003=2*103+0*102+0*101+3*10048.25=4*101+8*100+2*10-1+5*10-21.2 二进制数在电子计算机中采用的是二进制.二进制数只需2个不同的数字符号:0和1,并且是逢二进一,借一当二,它的基数是2.对于二进制数,其整数部分各数位的权,从最低位开始依次是1,2,4,8,写成2的幂,就是20,21,22,23,;其小数部分各数位的权,从最高位开始依次是

4、0.5,0.25,0.125,,写成2的幂,就是2-1,2-2,2-3,.对于任意一个二进制数,也都可以表示成按权展开的多项式。例如:(10110101)2=1*27+0*26+1*25+1*24+0*23+1*22+0*21+1*20(10.11)2=1*21+0*20+1*2-1+1*2-2为什么人们在计算机中采用二进制?这是因为,二进制数具有以下一些重要特点:(1)二进制数只含有两个数字0和1,因此可用大量存在的具有两个不同的稳定物理状态的元件来表示.例如,可用指示灯的不亮和亮,继电器的断开和接通,晶体管的断开和导通,磁性元件的反向和正向剩磁,脉冲电位的低和高等等,来分别表示二进制数字0

5、和1.计算机中采用具有两个稳定状态的电子或磁性元件表示二进制数,这比十进制的每一位要用具有十个不同的稳定状态的元件来表示,实现起来要容易得多,工作起来也稳定得多.(2)二制数的运算规则简单,使得计算机中的运算部件的结构相应变得比较简单.二进制数的加法和乘法的运算规则只有4条: 0+0=0 0+1=1 1+0=1 1+1=10 0*0=0 0*1=0 1*0=0 1*1=1实际上,二进制数的乘法可以通过简单的移位和相加来实现(3)二进制数的两个数字0和1与逻辑代数的逻辑变量取值一样,从而可采用二进数进行逻辑运算,这样就可以应用逻辑代数作为工具来分析和设计计算机中的逻辑电路,使得逻辑代数成为计算机

6、设计的数学基础.1.3 二进制数与十进制数间的相互转换(1)二进制数转换成十进制数乘权求和,即将二进制数按权展开求和。例1 把二进制数1101.11转换成十进制数(1101.11)2=1*23+1*22+0*21+1*20+1*2-1+1*2-2 =8+4+0+1+0.5+0.25 =13.75(2)十进制数转换成二进制数整数部分辗转除以2取余,小数部分辗转乘以2取整即将十进制整数除以2,得到一个商和一个余数;再将商除以2,又得到一个商和一个余数;以此类推,直到商等于零为止。每次得到的余数的倒排列,就是对应二进制数的各位数。例2 把十进制数37转换成二进制数于是得:(37)10=(100101

7、)2 十进制小数转换成二进制小数是用“乘2取整法”。即用2逐次去乘十进制小数,将每次得到的积的整数部分按各自出现的先后顺序依次排列,就得到相对应的二进制小数。例3 把(0.6875)10转换成二进制数设(0.6875)10=a-1*2-1+a-2*2-2+a-m*2-m于是得:(0.6875)10=(0.1011)2说明:一个有限的十进制小数并非一定能够转换成一个有限的二进制小数,即上述过程的乘积的小数部分可能永远不等于0,这时我们可按要求进行到某一精确度为止.如(0.1)10=(0.000110011001100110011001100.)2如果一个十进制数既有整数部分又有小数部分,则可将整

8、数部分和小数部分分别进行转换,然后再将两部分合起来.如(37.6875)10=(100101.1011)21.4 八进制数与十六进制数 在计算机内部,一切信息的存储、处理与传送均采用二进制的形式。但由于二进制数所需位数较多,阅读与书写很不方便,为此,在阅读与书写时又通常用十六进制或八进制来表示,这是因为十六进制和八进制与二进制之间有着非常简单的对应关系 八进制数的基数是8,有8个基本数字:0,1,2,3,4,5,6,7,并且逢八进一,借一当八.由于八进制数的基数8是二进制数的基数2的3次幂,即23=8,所以一位八进制数相当于3位二进制数,这样使得八进制数与二进制数之间的转换十分方便. 十六进制

9、数的基数是16,有16个基本数字:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,并且逢十六进一,借一当十六. 由于十六进制数的基数16是二进制数的基数2的4次幂,即24=16,所以一位八进制数相当于4位二进制数,这样使得十六进制数与二进制数之间的转换十分方便.进制转换对照表二进制八进制十进制十六进制00000000001111001022200113330100444010155501106660111777100010881001119910101210A10111311B11001412C11011513D11101614E11111715F100002016101000

10、12117111001022181210011231913例4 把(56.103)8转换成二进制数(一位变三位)56.103101110.001000011所以(56.103)8=(101110.001000011)2例5 把(11101.1101)2转换成八进制数(三位变一位)以小数点为中心,向两边每隔3位分组(不足3位的,在外边补0):011101.11010035.64所以(11101.1101)2=(35.64)8例6 把(3AD.B8)16转换成二进制数(一位变四位)3AD.B8001110101101.10111000所以(3AD.B8)16=(1110101101.10111)2

11、例7 把(1111100111.111111)2转换成十六进制数(四位变一位)以小数点为中心,向两边每隔4位分组(不足4位的,在外边补0):001111100111.111111003E7.FC所以(1111100111.111111)2=(3E7.FC)16其他进制数与十进制数之间的转换 把其他进制数转换成十进制数,都用乘权求和的方法; 把十进制数转换成其他进制数,都用整数部分辗转除以其他进制数的基数取余,小数部分辗转乘以其他进制数的基数取整的方法例8 把(17.26)8转换成十进制数(乘权求和)(17.26)8=1*81+7*80+2*8-1+6*8-2 =8+7+2*0.1256*0.0

12、15625 =15.34375例9 把(65535)10转换成16进制数(辗转除以16取余)所以(65535)10=(FFFF)16二、计算机中数的表示 在计算机中所有的数据、指令以及符号等都是用特定的二进制代码表示的。 我们把一个数在计算机内被表示的二进制形式称为机器数,该数称为这个机器数的真值。机器数具有下列特点: (1)由于计算机设备的限制和操作上的便利,机器数有固定的位数。它表示的数受到固定位数的限制,具有一定的范围,超过这个范围就会产生“溢出”。例如,一个8位机器数,所能表示的无符号整数的最大值是“11111111”,即十进制数255,如果超过这个数就会“溢出”。(2)机器数能表示数

13、的符号(正、负或0)。通常是用机器数中规定的符号位(一般是最高位)取0或1表示数的正或负。例如,一个8位机器数,其最高位是符号位,那么在定点整数原码表示的情况下,对于00101110和10010011,其真值分别为十进制数+46和-19。(3)机器数中,采用定点或浮点方式来表示小数点的位置。2.1 原码,反码和补码 在计算机中参加运算的数有正负之分,通常在计算机中我们用X=X0X1X2XN-1来表示一个二进制数,并规定当X0=0时X为正数,X0=1时X为负数.在计算机中这种表示法有原码,补码和反码三种。 1.原码 原码的定义:其最高位为符号位,0表示正,1表示负,其余位数表示该数的绝对值。通常

14、用X原表示X的原代码。例如:假设,因为(17)10=(10001)2,(39)10=(100111)2,那么+17原=00010001,-39原=10100111+0原=00000000,-0原=10000000,因此,0的表示有两种,浪费了资源.当机器数的位数是8时,原码表示范围是-127,127。原码的表示法简单易懂,但是它最大的缺点是运算复杂。 2.反码 反码的定义:正数的反码与原码相同,负数的反码是把其原码除符号位外的各位取反(即0变1,1变0).通常用X反表示X的反码。例如:+45反=+45原=00101101由于-32原=10100000,所以-32反=11011111+0反=+0

15、原=00000000,-0原=10000000,-0反=11111111,因此0的表示也有两种根据X反所能表示的整数范围公式,我们可以计算出当n=8时反码表示范围是-127,127。 3.补码 补码的定义:正数的补码与原码相同,负数的反码是在其反码的最低有效位上加1。通常用X补表示X的补码。例如:+14补=14原=00001110由于-36原=10100100,而-36反=11011011,所以-36补=11011100+0补=+0原=00000000,-0反=11111111,规定-0补=00000000(溢出部分忽略),这样在用补码表示时,0的表示方法就唯一了.根据X补所能表示的整数范围公

16、式,我们可以计算出当n=8时补码表示范围是-128,127 用补码进行加减运算是很简单的,公式为X+Y补=X补+Y补X-Y补=X补+-Y补加法公式是非常简单的,在减法中我们可以根据Y补求-Y补:将Y补连同符号位一起按位求反后末位加1可得-Y补。在运算中符号位怎么办?符号位参加运算,符号位相加,若有进位,则进位舍去。例10 已知X=6,Y=2,求X-Y解:X补=00000110,Y补=00000010,-Y补=11111110最后舍弃符号位上的进位,得X-Y补=00000100,即X-Y=4例11 已知X=-19,Y=-30,求X+Y解:X补=11101101,Y补=11100010,最后舍弃符

17、号位上的进位,得X+Y补=11001111,即X+Y=-49 补码的重大意义 从上面例子可见,加法和减法统一成了加法,再由于乘除可通过移位和加减来实现,于是就使四则算术运算在计算机中能转化成对补码进行简单的移位和相加,从而大大减化了计算机运算部件的电路设计.2.2 数的定点和浮点表示 在计算机中,针对小数点的处理有两种方法:定点表示法与浮点表示法。 1.定点表示法 定点表示法就是小数点约定在机器数某一固定的位置上。如果将小数点约定在符号位和数值的最高位之间,这时的数值为定点有符号纯小数。例如:X补=01010000小数点位置这时X=0.625 如果将小数点约定在数值的最低位之后,这时的数值均为

18、整数。例如:X补=11010000 小数点位置这时X=-48对于8位定点有符号整数,用补码表示,最大数M补=01111111,即M=+(27-1)=+127最小数N补=10000000,即N=-27=-128所以对于8位定点有符号整数(用补码表示)的范围是-128+127,共28=256个不同的整数,在PASCAL语言中,shortint类型的数据即是1字节(8位)定点有符号整数;而对于8位定点无符号(没有符号位,即约定为非负数)整数(用原码表示即可,这里补码与原码相同)的范围是028-1,即0255,共28=256个不同的整数,在PASCAL语言中,byte类型的数据即是1字节(8位)定点无

19、符号整数;同理可得:16位定点有符号整数(用补码表示)的范围是-215+(215-1),即-32768+32767,在PASCAL语言中,integer类型的数据即是2字节(16位)定点有符号整数;而对于16位定点无符号整数(用原码表示即可)的范围是0216-1,即065535,共216=65536个不同的整数,在PASCAL语言中,word类型的数据即是2字节(16位)定点无符号整数;32位定点有符号整数(用补码表示)的范围是-231+(231-1),即-2147483648+2147483647,在PASCAL语言中,longint类型的数据即是4字节(32位)定点有符号整数;在PASCA

20、L语言中,定义了上述5种类型的整数数据类型,列表如下:名称类型标识符大小最小值最大值不同数据个数字节型shortint1字节即8个二进制位-128127256短整型byte1字节即8个二进制位0255256标准型integer2字节即16个二进制位-327683276765536字 型word2字节即16个二进制位06553565536长整型longint4字节即32个二进制位-214748364821474836474294967296 2.浮点表示法 浮点表示法就是小数点的位置并不固定。浮点数在计算机中通常的表示形式为浮点数=2的正/负阶码次方*尾数其中阶码是个正整数,尾数是个小数,我们规

21、定尾数的区间为0.5,1),如果尾数不在此区间,那我们可通过调节阶码来满足区间,此方法称为规格化。 在计算机中所说的浮点数就是指小数点位置不固定的数。一般地,一个既有整数部分又有小数部分的十进制数D可以表示成如下形式: DR*10N 其中R为一个纯小数,N为一个整数。 如一个十进制数123.456可以表示成:0.123456*103,十进制小数0.00123456可以表示成0.123456*10-2。纯小数R的小数点后第一位一般为非零数字。 同样,对于既有整数部分又有小数部分的二进制数口也可以表示成如下形式: DR*2N 其中R为一个二进制定点小数,称为D的尾数;N为一个二进制定点整数,称为D

22、的阶码,它反映了二进制数D的小数点的实际位置。为了使有限的二进制位数能表示出最多的数字位数,定点小数R的小数点后的第一位(即符号位的后面一位)一般为非零数字(即为“1”)。 在计算机中,通常用一串连续的二进制位来存放二进制浮点数,它的一般结构如图所示:阶符N数符R | 阶码部分 | 小数位 尾数部分三、字符与汉字的编码1字符的编码 计算机除了用于数值计算外,还有其他许多方面的应用。因此,计算机处理的不只是一些数值,还要处理大量符号如英文字母、汉字等非数值的信息。例如,当你要用计算机编写文章时,就需要将文章中的各种符号、英文字母、汉字等输入计算机,然后由计算机进行编辑排版。因此,计算机要对各种文

23、字进行处理。通常,计算机中的数据可以分为数值型数据与非数值型数据。其中数值型数据就是常说的“数”(如整数、实数等),它们在计算机中是以二进制形式存放的。而非数值型数据与一般的“数”不同,通常不表示数值的大小,而只表示字符或图形等信息,但这些信息在计算机中也是以二进制形式来表示的。 目前,国际上通用的且使用最广泛的字符有:十进制数字符号09,大小写的英文字母,各种运算符、标点符号等,这些字符的个数不超过128个。为了便于计算机识别与处理,这些字符在计算机中是用二进制形式来表示的,通常称之为字符的二进制编码。 由于需要编码的字符不超过128个,因此,用七位二进制数就可以对这些字符进行编码。但为了方

24、便,字符的二进制编码一般占八个二进制位,它正好占计算机存储器的一个字节。具体的编码方法,即确定每一个字符的七位二进制代码。但目前国际上通用的是美国标准信息交换码(American Standanl Code for Information Interchange ),简称为ASCII码(取英文单词的第一个字母的组合)。用ASCII表示的字符称为ASCII码字符。下表是ASCII码编码表: 表中前32个与最后一个是不可打印的控制符号。 特别需要指出的是,十进制数字字符的ASCII码与它们的二进制值是有区别的。例如,十进制数3的七位二进制数为(0000011),而十进制数字字符“3”的ASCII码

25、为(0110011)2(33)16(51)10,由此可以看出,数值3与数字字符“3”在计算机中的表示是不一样的。数值3能表示数的大小,并可以参与数值运算;而数字字符“3”只是一个符号,它不能参与数值运算。2汉字的编码 国标GB2312-80规定,全部国标汉字及符号组成94*94的矩阵,在这矩阵中,每一行称为一个“区”,每一列称为一个“位”。这样,就组成了94个区(0194区),每个区内有94个位(0194)的汉字字符集。区码和位码简单地组合在一起(即两位区码居高位,两位位码居低位)就形成了“区位码”。区位码可唯一确定某一个汉字或汉字符号,反之,一个汉字或汉字符号都对应唯一的区位码,如汉字“玻”

26、的区位码为“1803”(即在18区的第3位)。 所有汉字及符号的94个区划分成如下四个组:115区为图形符号区,其中,19区为标准 区, 1015区为自定义符号区。1655区为一级常用汉字区,共有3755个汉字,该区的汉字按拼音排序。5687区为二级非常用汉字区,共有3008个汉字,该区的汉字按部首排序。8894区为用户自定义汉字区。 汉字的内码是从上述区位码的基础上演变而来的。它是在计算机内部进行存储、传输所使用的汉字代码。 区码和位码的范围都在0194内,如果直接用它作为内码就会与基本ASCII码发生冲突,因此汉字的内码采用如下的运算规定: 高位内码区码十20H80H 低位内码位码十20H80H 在上述运算规则中加20H应理解为基本ASCII的控制码;加80H意在把最高二进制位置“1”,以与基本ASCII码相区别,或者说是识别是否汉字的标志位。例:将汉字“玻”的区位码转换成机内码:高位内码(18)10(20)16(80)16(00010010)2(00100000)2(10000000)2(10110010)2(B2)16B2H低位内码(3)10(20)16(80)16(00000011)2(00100000)2(10 000 000)2(10100011)2(A3)16A3H内码区码20H80H位码20H80H(1011001010100011)2B2A3H

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1