第2章-计算机中信息的表示方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章计算机数据表示计算机要对各种信息或数据进行处理,首先遇到的问题是必须将各种信息以计算机可以识别的方式表示,并且以一定的形式存储在计算机中。现代计算机大都是以二进制表示的数字计算机。数据表示研究的是计算机硬件能够直接识别,可以被指令系统直接调用的数据类型。国际标准化组织(ISO)对数据和信息都进行了专门定义:第2章计算机中信息的表示方法何谓数据?“数据是对事实、概念或指令的一种特殊表达形式,这种特殊表达形式可以用人工的方式或自动化装置进行通信、翻译转换或者进行加工处理”。数据的概念要比人们日常生活中理解的“可以比较其大小的数值”广泛的多。数字、文字、符号、图形、图像、声音都包括在数据范畴中。数据数值数据非数值数据文字、字符图形、图像声音数据类型无符号数有符号数2.1数值数据的表示2.2.1进位计数制及其相互转换1.进位计数制按照一定进位方法进行计数的数制称为进位计数制,简称进制。在日常生活中,人们习惯使用的进制是十进制(Decimal),但在计算机内部采用的进制却是二进制(Binary)。由于用二进制表示的数的位数长,书写不便,为了便于书写常采用八进制(Octal[Q])和十六进制(Hexadecimal)作为中间进制。•(1)基数进制是以表示数值可以选用基本数码的个数来命名的,计数制允许选用的基本数码的个数称为基数,用J表示。(2)权•在进位计数制中,同一个数码处在数的不同位置上,它所代表的数值的大小是不同的。每一个数位被赋于J的数值称为位权,简称权。(3)进位计数制的按权展开式在进位计数制中,每个数位的数值等于该位数码与该位的权之乘积,各种进位制的数都可以写成按权展开的多项式和的形式,一个以J为基数的数KJ可表示为:•KJ=kn-1Jn-1+kn-2Jn-2+…+k1J1+k0J0+k-1J-1+k-2J-2+…k-mJ-m•=JKiim1niKJ-------J进制数n-------J进制数整数部分的位数m-------J进制数小数部分的位数ki-------第i位上的数码,也称系数Ji-------第i位上的权。6783461071081031041021012.基数权数码例:十进制数678.34的按权展开式二进制、八进制、十六进制数转换成十进制数常用的方法是“按权展开转换法”,具体做法是二进制、八进制、十六进制数按照权展开,然后再按照十进制求和,结果就是所要的十进制数。2.二进制基数为2的计数制叫二进制。二进制只有“0”和“1”两种数码,计数逢二进一。二进制的优点:(1)二进制数和十进制数之间的关系不复杂(2)技术容易实现数值十/二进制转换西文ASCII码汉字输入码/机内码转换声音、图像模/数转换二/十进制转换西文字形码汉字字形码数/模转换内存输入设备输出设备数值西文汉字声音、图像10100101(3)二进制运算规则简单二进制数的加法运算二进制数的减法运算加法运算法则0+0=00+1=1+0=11+1=01101+111011011减法运算法则0-0=1-1=01-0=10-1=111011-11101101二进制数的乘法运算乘法运算法则0×0=00×1=1×0=01×1=1除法运算法则0÷1=01÷1=11101×1010000011010000+1101100000101011011111011101111111011100二进制数的除法运算(4)二进制数中的0、1数码与逻辑代数的两个值“真”和“假”相对应,为计算机实现逻辑运算和程序中逻辑判断提供了便利条件。1、逻辑或运算:orv+2、逻辑与运算:and^·3、逻辑非运算:not—ABF=A+B000011101111ABF=A·B000010100111AF=A0110整数部分:除以J取余数,直到商为0,余数从右到左排列。小数部分:乘以J取整数,整数从左到右排列。100(D)=144(Q)=64(H)~例100.345(D)=1100100.01011(B)1.041.3800.34520.690220.76021.520210025022521226232100010011八进制100812818044110016604616十六进制3.进位计数制之间的转换方法(1)十进制数转换成J进制数十进制实数既有整数部分,又有小数部分,其转换方法是将整数部分和小数部分分别转换,然后将这两部分拼起来即可。(2)二进制、八进制、十六进制数间的相互转换64(H)=01100100(B)64144(Q)=001100100(B)1441101101110.110101(B)=1556.65(Q)1556651101101111.110101(B)=36F.D4(H)36FD4一位八进制数对应三位二进制数一位十六进制数对应四位二进制数•二进制转化成八(十六)进制整数部分:从右向左按三(四)位进行分组小数部分:从左向右按三(四)位进行分组不足补零(3)任意进制数转换成十进制数•任意进制数转换成十进制数常用的方法是“按权展开转换法”,具体做法是将任意进制数按照权展开,然后再按照十进制求和,结果就是所要的十进制数。例:二进制数111010B转换成十进制数111010B=1×25+1×24+1×23+0×22+1×21+0×20=32+16+8+0+2+0=58D2.1.2数值数据的机器码表示1.符号数的机器码表示(1)机器数和真值机器数:数在计算机中的二进制表示形式称为机器数。机器数有3个特点:数的符号数值化:通常用“0”表示“+”号,“1”表示“−”号,符号放在二进制数的最高位,称为符号位。小数点不占数位。隐含表示机器数的位数受机器设备的限制真值:因为符号在计算机中占据一位,机器数的形式值就不等于真正的数值,为了区别起见,我们把带符号位的机器数所对应的数值称为机器数的真值。在计算机中有符号数的表示是将符号和数一起进行编码,常用的编码有原码、补码和反码。在这些编码中,通常用一位(一般是最高位)来表示符号,剩余的位数表示数值部分的编码。(2)原码表示法•在原码表示法中,最高位为符号位,其余位为数的绝对值。①原码的定义(机器字长为n+1,其中一位符号位)[X]原=1-X=1+∣X∣-1<X≤0X0≤X<1小数的原码:整数的原码:[X]原=2n-X=2n+∣X∣-2n<X≤0X0≤X<2n原码的求法:•原码表示直观,与真值的转换方便,只要将真值符号位的“+”用“0”,“-”用“1”表示,剩下的位数就是真值的绝对值了。•用原码表示的机器数进行乘除运算比较方便,只要将数值部分直接乘除,符号位相异或就可以获得正确的结果。(2)反码的表示法反码一般用来作为原码求补码或补码求原码的工具,计算机中很少采用反码进行数的运算。①反码定义:根据定义,正数的反码和原码相同,负数的反码将符号位用“1”表示,数值位按位取反即可。反码的表示范围与原码的表示范围是一样的。小数的反码:整数的反码:[X]反=(2-2-n)+X-1<X≤0X0≤X<1[X]反=(2(n+1)-1)+X-2n<X≤0X0≤X<2n(3)补码表示法设计补码表示的目的是:补码表示的数在进行加减运算时,符号位可以看成数值一起参加运算,只要不溢出(数的大小超过机器数表示的范围称溢出)结果都是正确的,从而简化了加减法运算规则,简化了运算器的设计。①模和同余的概念模:一个计量器的容量或一个计量单位叫做模或模数,记作M。如3位二进制数它的模M=23=8。同余:设a,b两整数被同一正整数M去除而余数相同,则称a、b对M同余。记为a=b(modM)。如:9/12=(12-3)/12=1+(-3)/12即9和-3是关于模12是同余的。具有同余关系的两个数具有互补关系,即-3的补码是9。这样求一个负数的补码就将模加上该负数即可12+(-3)=9。小数的补码:整数的补码:[X]补=2+X-1≤X<0X0≤X<1[X]补=2(n+1)+X-2n≤X<0X0≤X<2n②补码的定义(机器字长为n+1,其中一位符号位)补码的求法:从补码的定义可以看出,正数的补码和原码相同,都等于真值。负数的补码可以用定义来求,也可以用更直观的方法来求:原码除符号位外按位取反再在最低位加1(符号位用1表示,数字位直接取反再在最低位加1)。例:计算机字长n=8位,机器数真值x=-1011011B,求[x]的补码。因为n=8,模=28=100000000B,x0所以[x]补=28-│x│=100000000B-1011011=10100101B注意:补码的零只由一种表示:[0]补=[-0]补=[+0]补=000000002.定点数与浮点数•在进行算术运算时,需要指出小数点的位置,在计算机中,小数点有两种表示方法:定点表示法和浮点表示法。(1)定点表示法•定点表示法约定数据的小数点的位置固定不变,小数的小数点通常放在有效数字的前面符号的后面,整数的小数点就放在有效数字的末尾,这就形成了定点小数和定点整数。无论是整数还是小数,小数点都是以隐含的方式来表示,不占有效的数据位,这样做的目的是字长一定的计算机,数的表示范围最大。符号位数值部分·小数点位置符号位数值部分·小数点位置定点整数:定点小数:只有定点数据的计算机称为定点计算机。定点计算机只能表示纯小数或整数,所能表示的数的范围有限,尤其是定点小数,数的表示范围小于1,这在实际使用时是很不方便的,现代计算机大多采用浮点表示法。(2)浮点表示法•计算机多数情况下采用浮点数表示数值,它与科学计算法相似,把任意一个二进制数通过移动小数点位置表示成阶码和尾数两部分。•在浮点表示法中,E称为浮点数的阶数,用定点整数表示,一般采用补码表示。S称浮点数的尾数,用定点小数表示。•尾数的符号表示数的正负。N=2E×S阶码尾数E0E1E2E3…EnS0S1S2S3…Sm浮点数表示110.011(B)=1.10011×2+10=11001.1×2-10=0.110011×2+111100110011N=数符尾数2阶符阶码尾数的位数决定数的精度阶码的位数决定数的范围规格化的形式:尾数的绝对值大于等于0.1并且小于1,从而惟一地规定了小数点的位置。3.数字编码•十进制数在计算机中经常以十进制的二进制编码BCD(BinaryCodedDecimal)码来表示的。大多数计算机都有专门的十进制运算指令,可以对十进制数直接进行处理。•4位二进制共有16种状态,用4位二进制表示1位十进制,有多余的六个状态,所以有多种表示方法,可以产生多种BCD码。•有权码:十进制数据有权码是指表示每一个十进制数位的四个二进制位(称为基2码)都有一个确定的权。常见的有8421码(也称自然码)、2421码等。•无权码:十进制数据无权码是指表示每一个十进制数位的四个二进制位没有一个确定的权。常用的有余3码和格雷码(又称循环码)余3码的编码规则是在8421码的基础上,将每一个代码都加0011而形成。其主要优点是执行加法运算时,能正确产生进位,而且还给减法带来方便。格雷码(又称循环码)其编码规则是任何两个相邻的代码只有一个二进制位不同,其余三位必须相同。这样使得从一个编码变到下一个编码时只有一位发生变化,变码速度最快,有利于得到更好的译码波行,故在D/A和A/D转换电路中得到很好的运行结果。并且用数字逻辑电路实现时不会产生冒险竞争。十进制数有权码无权码8421码2421码余3码格雷码000000000001100001000100010100000120010001001010011300110011011000104010001000111011050101101110001110601101100100110107011111011010100081000111010111100910011111110001002.2非数值数据的表示字符、汉字、图形、图像、语言以及逻辑数据统称为非数值数据。它们在计算机中也是用“0”“1”码来表示的。2.2.1字符数据字符数据主要指数字、字母、通用符号、控制符号等,在机内它们都

1 / 60
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功