版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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进制的基数
2、就是10)正好等于该数制中不同"数字符号"的个数(如60进制中采用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,100
3、00,一般地,写成10的幂,就是100,101,102,103,104,;10则被称为十进制的基数1.1 十进制数特点:采用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,并且是"逢二进一,借一当二"
4、;,它的基数是2.对于二进制数,其整数部分各数位的权,从最低位开始依次是1,2,4,8,写成2的幂,就是20,21,22,23,;其小数部分各数位的权,从最高位开始依次是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,因此可用大量存在的具有两个
5、不同的稳定物理状态的元件来表示.例如,可用指示灯的不亮和亮,继电器的断开和接通,晶体管的断开和导通,磁性元件的反向和正向剩磁,脉冲电位的低和高等等,来分别表示二进制数字0和1.计算机中采用具有两个稳定状态的电子或磁性元件表示二进制数,这比十进制的每一位要用具有十个不同的稳定状态的元件来表示,实现起来要容易得多,工作起来也稳定得多.(2)二制数的运算规则简单,使得计算机中的运算部件的结构相应变得比较简单.二进制数的加法和乘法的运算规则只有4条: 0+0=0 0+1=
6、1 1+0=1 1+1=10 0*0=0 0*1=0 1*0=0 1*1=1实际上,二进制数的乘法可以通过简单的移位和相加来实现(3)二进制数的两个数字0和1与逻辑代数的逻辑变量取值一样,从而可采用二进数进行逻辑运算,这样就可以应用逻辑代数作为工具来分析和设计计算机中的逻辑电路,使得逻辑代数成为计算机设计的数学基础.1.3 二进制数与十进制数间的相互转换(1)二进制数转换成十进制数乘权求和,即将二进制数按权展开求和。
7、例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,又得到一个商和一个余数;以
8、此类推,直到商等于零为止。每次得到的余数的倒排列,就是对应二进制数的各位数。例2 把十进制数37转换成二进制数于是得:(37)10=(100101)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说明:一个有限的十进制小数并非一定能够转换成一个有限的二进制小数,即上述过程的乘积的小数部分可能永远
9、不等于0,这时我们可按要求进行到某一精确度为止.如(0.1)10=(0.000110011001100110011001100.)2如果一个十进制数既有整数部分又有小数部分,则可将整数部分和小数部分分别进行转换,然后再将两部分合起来.如(37.6875)10=(100101.1011)21.4 八进制数与十六进制数 在计算机内部,一切信息的存储、处理与传送均采用二进制的形式。但由于二进制数所需位数较多,阅读与书写很不方便,为此,在阅读与书写时又通常用十六进制或八进制来表示,这是因为十六进制和八进制与二进制之间有着非常简单的对应关系
10、160; 八进制数的基数是8,有8个基本数字:0,1,2,3,4,5,6,7,并且"逢八进一,借一当八". 由于八进制数的基数8是二进制数的基数2的3次幂,即23=8,所以一位八进制数相当于3位二进制数,这样使得八进制数与二进制数之间的转换十分方便. 十六进制数的基数是16,有16个基本数字:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,并且"逢十六进一,借一当十六". 由于十六进制数的基数16是二进制数的基数2的4次幂,即24=1
11、6,所以一位八进制数相当于4位二进制数,这样使得十六进制数与二进制数之间的转换十分方便.进制转换对照表二进制八进制十进制十六进制00000000001111001022200113330100444010155501106660111777100010881001119910101210A10111311B11001412C11011513D11101614E11111715F10000201610100012117111001022181210011231913例4 把(56.103)8转换成二进制数(一位变三位)56.103101110.001000011所以(56.103)8=(1011
12、10.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例7 把(1111100111.111111)2转换成十六进制数(四位变一位)以小数点为中心,向两边每隔4位分组(不足4位的,在外边补0):001111100111.111111003E7.
13、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.015625
14、 =15.34375例9 把(65535)10转换成16进制数(辗转除以16取余)所以(65535)10=(FFFF)16二、计算机中数的表示 在计算机中所有的数据、指令以及符号等都是用特定的二进制代码表示的。 我们把一个数在计算机内被表示的二进制形式称为机器数,该数称为这个机器数的真值。机器数具有下列特点: (1)由于计算机设备的限制和操作上的便利,机器数有固定的位数。它表示的数受到固定位数的限制,具有一定的范围,超过这个范围就会产生“
15、溢出”。例如,一个8位机器数,所能表示的无符号整数的最大值是“11111111”,即十进制数255,如果超过这个数就会“溢出”。(2)机器数能表示数的符号(正、负或0)。通常是用机器数中规定的符号位(一般是最高位)取0或1表示数的正或负。例如,一个8位机器数,其最高位是符号位,那么在定点整数原码表示的情况下,对于00101110和10010011,其真值分别为十进制数+46和-19。(3)机器数中,采用定点或浮点方式来表示小数点的位置。2.1 原码,反码和补码 在计算机中参加运算的数有正负之分,通常在计算机中我们用X=X0X1X2XN-1来表示一个二进制数,
16、并规定当X0=0时X为正数,X0=1时X为负数.在计算机中这种表示法有原码,补码和反码三种。 1.原码 原码的定义:其最高位为符号位,0表示正,1表示负,其余位数表示该数的绝对值。通常用X原表示X的原代码。例如:假设,因为(17)10=(10001)2,(39)10=(100111)2,那么+17原=00010001,-39原=10100111+0原=00000000,-0原=10000000,因此,0的表示有两种,"浪费"了资源.当机器数的位数是8时,原码表示范围是-127,127。原码的表示法简单易懂,但是它最大的缺点是运
17、算复杂。 2.反码 反码的定义:正数的反码与原码相同,负数的反码是把其原码除符号位外的各位取反(即0变1,1变0).通常用X反表示X的反码。例如:+45反=+45原=00101101由于-32原=10100000,所以-32反=11011111+0反=+0原=00000000,-0原=10000000,-0反=11111111,因此0的表示也有两种根据X反所能表示的整数范围公式,我们可以计算出当n=8时反码表示范围是-127,127。 3.补码 补码的定义:正数的补码与原码相
18、同,负数的反码是在其反码的最低有效位上加1。通常用X补表示X的补码。例如:+14补=14原=00001110由于-36原=10100100,而-36反=11011011,所以-36补=11011100+0补=+0原=00000000,-0反=11111111,规定-0补=00000000(溢出部分忽略),这样在用补码表示时,0的表示方法就唯一了.根据X补所能表示的整数范围公式,我们可以计算出当n=8时补码表示范围是-128,127 用补码进行加减运算是很简单的,公式为X+Y补=X补+Y补X-Y补=X补+-Y补加法公式是非常简单的,在减法中我们可以根据Y补求-
19、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,最后舍弃符号位上的进位,得X+Y补=11001111,即X+Y=-49 补码的重大意义 从上面例子可见,加法和减法统一成了加法,再由于乘除可通过移位和加减来实现,
20、于是就使四则算术运算在计算机中能转化成对补码进行简单的移位和相加,从而大大减化了计算机运算部件的电路设计.2.2 数的定点和浮点表示 在计算机中,针对小数点的处理有两种方法:定点表示法与浮点表示法。 1.定点表示法 定点表示法就是小数点约定在机器数某一固定的位置上。如果将小数点约定在符号位和数值的最高位之间,这时的数值为定点有符号纯小数。例如:X补=01010000小数点位置这时X=0.625 如果将小数点约定在数值的最低位之后,这时的数值均为整数。例如:X补=11010000
21、; 小数点位置这时X=-48对于8位定点有符号整数,用补码表示,最大数M补=01111111,即M=+(27-1)=+127最小数N补=10000000,即N=-27=-128所以对于8位定点有符号整数(用补码表示)的范围是-128+127,共28=256个不同的整数,在PASCAL语言中,shortint类型的数据即是1字节(8位)定点有符号整数;而对于8位定点无符号(没有符号位,即约定为非负数)整数(用原码表示即可,这里补码
22、与原码相同)的范围是028-1,即0255,共28=256个不同的整数,在PASCAL语言中,byte类型的数据即是1字节(8位)定点无符号整数;同理可得:16位定点有符号整数(用补码表示)的范围是-215+(215-1),即-32768+32767,在PASCAL语言中,integer类型的数据即是2字节(16位)定点有符号整数;而对于16位定点无符号整数(用原码表示即可)的范围是0216-1,即065535,共216=65536个不同的整数,在PASCAL语言中,word类型的数据即是2字节(16位)定点无符号整数;32位定点有符号整数(用补码表示)的范围是-231+(231-1),即-2
23、147483648+2147483647,在PASCAL语言中,longint类型的数据即是4字节(32位)定点有符号整数;在PASCAL语言中,定义了上述5种类型的整数数据类型,列表如下:名称类型标识符大小最小值最大值不同数据个数字节型shortint1字节即8个二进制位-128127256短整型byte1字节即8个二进制位0255256标准型integer2字节即16个二进制位-327683276765536字 型word2字节即16个二进制位06553565536长整型longint4字节即32个二进制位-214748364821474836474294967296
24、; 2.浮点表示法 浮点表示法就是小数点的位置并不固定。浮点数在计算机中通常的表示形式为"浮点数=2的正/负阶码次方*尾数"其中阶码是个正整数,尾数是个小数,我们规定尾数的区间为0.5,1),如果尾数不在此区间,那我们可通过调节阶码来满足区间,此方法称为规格化。 在计算机中所说的浮点数就是指小数点位置不固定的数。一般地,一个既有整数部分又有小数部分的十进制数D可以表示成如下形式:
25、60; DR*10N 其中R为一个纯小数,N为一个整数。 如一个十进制数123.456可以表示成:0.123456*103,十进制小数0.00123456可以表示成0.123456*10-2。纯小数R的小数点后第一位一般为非零数字。 同样,对于既有整数部分又有小数部分的二进制数口也可以表示成如下形式: DR*2N
26、; 其中R为一个二进制定点小数,称为D的尾数;N为一个二进制定点整数,称为D的阶码,它反映了二进制数D的小数点的实际位置。为了使有限的二进制位数能表示出最多的数字位数,定点小数R的小数点后的第一位(即符号位的后面一位)一般为非零数字(即为“1”)。 在计算机中,通常用一串连续的二进制位来存放二进制浮点数,它的一般结构如图所示:阶符N数符R | 阶码部分
27、60; | 小数位 尾数部分 三、字符与汉字的编码1字符的编码 计算机除了用于数值计算外,还有其他许多方面的应用。因此,计算机处理的不只是一些数值,还要处理大量符号如英文字母、汉字等非数值的信息。例如,当你要用计算机编写文章时,就需要将文章中的各种符号、英文字母、汉字等输入计算机,然后由计算机进行编辑排版。因此,计算机要对各种文字进行处理。通常,计算机中的数据可以分为数值型数据与非数值型数据。其中数值型数据就是常说的“数”(如整数、实数等),它们在计算机中是以二进制形式存放的。而非数值型数据与一般的“数”不同,通
28、常不表示数值的大小,而只表示字符或图形等信息,但这些信息在计算机中也是以二进制形式来表示的。 目前,国际上通用的且使用最广泛的字符有:十进制数字符号09,大小写的英文字母,各种运算符、标点符号等,这些字符的个数不超过128个。为了便于计算机识别与处理,这些字符在计算机中是用二进制形式来表示的,通常称之为字符的二进制编码。 由于需要编码的字符不超过128个,因此,用七位二进制数就可以对这些字符进行编码。但为了方便,字符的二进制编码一般占八个二进制位,它正好占计算机存储器的一个字节。具体的编码方法,即确定每一个字符的七位二进制
29、代码。但目前国际上通用的是美国标准信息交换码(American Standanl Code for Information Interchange ),简称为ASCII码(取英文单词的第一个字母的组合)。用ASCII表示的字符称为ASCII码字符。下表是ASCII码编码表: 表中前32个与最后一个是不可打印的控制符号。 特别需要指出的是,十进制数字字符的ASCII码与它们的二进制值是有区别的。例如,十进制数3的七位二进制数为(0000011),而十进制数字字符“3”的ASCII码为(0110011)2(33)16(51)10,由此可以看出,数值3与数字字符“3”在计算机中的表示是不一样的。数值3能表示数的大小,并可以参与数值运算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包草地合同(2篇)
- 2025年度数据中心农民工用工合同4篇
- 二手房交易法律合同模板2024一
- 2025年度个人贷款合同风险评估与管理规范4篇
- 二零二五年度国际货物保险合同条款及理赔细则3篇
- 2025年度临时临时临时停车场租赁合同2篇
- 2025年度个人股权分割及转让合同3篇
- 个人与个人2024年度汽车租赁合同3篇
- 二零二五年度宁波劳动合同模板:包含员工劳动合同变更条款
- 二零二五年度外汇借款合同风险防范与应对策略
- 2024年资格考试-对外汉语教师资格证笔试参考题库含答案
- 软件研发安全管理制度
- 三位数除以两位数-竖式运算300题
- 寺院消防安全培训课件
- 比摩阻-管径-流量计算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 五年级数学应用题100道
- 西方经济学(第二版)完整整套课件(马工程)
- 高三开学收心班会课件
- GB/T 33688-2017选煤磁选设备工艺效果评定方法
- 科技计划项目申报培训
评论
0/150
提交评论