首页 > 知识点讲解
       计算机中数据的表示
知识路径: > 计算机科学基础 > 数据的表示 > 数的表示 > 
被考次数:63次     被考频率:高频率     总体答错率:47%     知识难度系数:     
考试要求:掌握      相关知识点:12个      
        在计算机中,数字是以一串"0"或"1"的二进制代码来表示的,这是计算机唯一能识别的数据形式。数据必须转化成二进制代码来表示,也就是说,所有需要计算机加以处理的数字、字母、文字、图形、图像、声音等信息(人识数据)都必须采用二进制编码(机识数据)来表示和处理。
               数制及其转换
               按进位的方法进行计数,称为进位计数制。在采用进位计数制的数字系统中,如果只用r个基本符号来表示数值,则称其为r进制。每个数都可以用基数、系数和位数的形式来表示,即
               N=mn-1Kn-1+mn-2Kn-2+…+m0K0+m-1K-1+m-2K-2+…
               .基数(K):是最大进位数(进制数),数制的规则是逢K进1。例如,十进制基数为10,六十进制(时间)的基数为60等。
               .系数(m):每个数位上的值,取值范围为0~K-1。例如,234中百位系数为2,十位系数为3,个位系数为4。
               .位数(n):各种进制数的个数。例如,十进制数234的位数为3,二进制数11010011的位数为8。
               例如:(234)10=2×102+3×101+4×l00(式中:m2=2,m1=3,m0=4;K=10;n=3)。
               显然,一个任意进制的数都可以按上述方法表示为其他进制的数。下表列出了计算机中常用的几种数制的对应关系。
               
               计算机常用数制的对应关系
               
               数制转换主要有以下几种。
               1)r进制转换成十进制
               方法:
               ana1a0·a-1a-m(r)=a*rn+…+a*rl+a*r0+a*r-1+…+a*r-m
               例如:
               10101(B)=1×24+1×22+1×20=21
               101.11(B)=1×22+1×20+1×2-1+l×2-2=5.75
               101(O)=1×82+1×80=65
               71(O)=7×81+l×80=57
               101A(H)=1×l63+1×l61+10×l60=4122
               2)十进制转换成r进制
               方法:
               .整数部分:除以r取余数,直到商为0,余数从右到左排列。
               .小数部分:乘以r取整数,整数从左到右排列。
               例如:
               
               3)八进制和十六进制转换成二进制
               方法:
               .每一个八进制数对应二进制的三位。
               .每一个十六进制数对应二进制的四位。
               例如:
               
               4)二进制转换成八进制和十六进制
               方法:
               .整数部分:从右向左进行分组。
               .小数部分:从左向右进行分组。
               .转换成八进制3位一组,不足补零。
               .转换成十六进制4位一组,不足补零。
               例如:
               
               二进制运算规则
               (1)加法:1+0=1; 0+1=1; 0+0=0; 1+1=0(有进位)。
               (2)减法:1-0=1; 1-1=0; 0-0=0; 0-1=1(有借位)。
               (3)乘法:0×0=0; 1×0=0; 0×1=0; 1×1=1。
               (4)除法:是乘法的逆运算。
               机器数和码制
               各种数据在计算机中的表示形式称为机器数,其特点是采用二进制计数制,数的符号用0、1来表示,小数点则隐含表示而不占位置。真值是机器数所代表的实际数值。
               机器数分无符号数和带符号数两种。无符号数表示正数,没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点位置在最高位之前,则是纯小数。对于带符号数,最高位是符号位,其余位表示数值,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在最高数值位之前(符号位之后),则是纯小数。
               为方便运算,带符号的机器数可采用原码、反码和补码等不同的编码方法,这些编码方法称为码制。真值的符号数字化:我们用"+"和"-"来表示正负数,而计算机则将二进制数的最高位设置成符号位,通常用"0"表示正数,"1"表示负数。
               1)原码
               规则:最高位为符号位,"0"表示正数,"1"表示负数。对数0则有"+0"和"-0"两种表示。
               
               对n+1位字长用以表示整型数值的范围:-2n+l≤X≤2n-l。
               2)反码
               规则:最高位为符号位,"0"表示正数,"1"表示负数。正数与原码相同,负数则要将除符号位的其他位按位取反。对数0则有"+0"和"-0"两种表示。
               
               对n+1位字长用以表示整型数值的范围:-2n+l≤X≤2n-l。
               3)补码
               规则:最高位为符号位,"0"表示正数,"1"表示负数。正数与原码相同,负数则要将除符号位的其他位按位取反后加1。对数0只有"0"一种表示。
               
               对n+1位字长用以表示整型数值的范围:-2nX≤2n-1。
               补码运算的优点:将减法运算变成加法运算(因为运算器中只有加法器)。
               例如:96-20=76
               最高位的进位则自然丢失
               4)移码
               规则:最高位为符号位,"1"表示正数,"0"表示负数。
               当-2nX<2n时,[X=2n+x
               数值范围:-2nX≤2n-1。
               特点:保持了数据原有的大小顺序,便于进行比较操作。
               以上介绍的4种编码方法(设字长为4位,最高位为符号位)的对应关系如下表所示。
               
               符号数的四种编码表示
               定点数和浮点数
               1)定点数
               (1)定点小数表示。
               小数点设在符号位(S)之后,其表示格式如下所示。
               
               设字长为n+1位,定点小数的数值表示范围如下。
               .原码表示:-(1-2-n)~+(1-2-n)。
               .反码表示:-(1-2-n)~+(1-2-n)。
               .补码表示:-1~+(1-2-n)。
               例如,(-0.25)10→(-0.01)2,以原码定义表示为10100000。
               (2)定点整数表示。
               定点整数分为(有)符号数和无符号数两种表示格式。
               .(有)符号数:小数点在符号位最末有效位之后,其表示格式如下。
               
               设字长为n+1位,符号数的数值表示范围如下。
               .原码表示:-(2-n-1)~+(2-n-1)。
               .反码表示:-(2-n-1)~+(2-n-1)。
               .补码表示:-2-n~+(2-n-1)。
               例如,(-10)10→(-1010)2,以原码定义表示为10001010。
               .无符号数:不设符号位,小数点在符号位最末有效位之后,其表示格式如下。
               
               设字长为n+1位,无符号数的数值表示范围为0≤N≤2n+1-1。
               例如,(255)10→(11111111)2,以原码定义表示为11111111。
               2)浮点数
               .构成:阶码E,尾数M,符号位S,基数R
               N=(-l)S×M×RE
               
               .规格化:为了在尾数中表示最多的有效数据位,也为了数据表示的唯一性而定义的规则。如将尾数的绝对值限制在区间[0.5, 1]中,当尾数(M)用补码表示时,有以下两种情况。
               .M≥0时,尾数规格化的形式:M=0.1X…X
               .M<0时,尾数规格化的形式:M=1.0X…X
               .浮点数的表示范围:尾数的位数决定数的精度,阶码的位数决定数的范围。而表示范围与机器的具体的表示方法及字长有关,下面举例说明。
               例:R为基数,有p位阶码和m位二进制尾数代码的浮点数,阶码采用二进制正整数编码表示,求数值的表示范围。
               解:最小规格化尾数:1/R
               最大规格化尾数:1-2-m
               最大阶码:2p-1
               最小阶码:0
               最小值:1/R
               最大值:R2p-1(1-2-m
               注:本例中没有符号位,也没有考虑阶码为负的情况。如果考虑这些因素就要考虑阶码和尾数的编码方式。
               .浮点数的溢出:当运算的结果超出该机器浮点数可表示的范围时,则产生浮点数溢出,浮点数可表示的范围如下图所示。比如上例中,当浮点数的运算结果小于1/R(或大于R2p-1(1-2-m))时,则产生正下溢(或正上溢)。
               
               浮点数的表示范围
               .浮点数的实例。设浮点数格式如下:
               
               则数110.011(B)=+0.110011×2+11(规格化尾数)=0 110011×2011(机器数格式)可表示为:
               
               3)浮点数工业标准IEEE 754
               规格化数格式如下:
               (-l)S×l.f×2E
               其中,1位数符(S):正数为0,负数为1;除去了最高位的尾数(f)为原码表示;阶码(E)为特殊移码表示。
               IEEE 754浮点数的范围如下表所示。
               
               IEEE 754浮点数的表示范围
               例:将IEEE 754标准的精度浮点数0 10000110 01100000001000000000000转换为真值。
               解:将特殊移码表示阶码转换为真值阶码,因为E=10000110-01111111=00000111,所以E=7;因为f=01100000001000000000000,所以1.f=1.01100000001;将1.f右移7位(因为E=7)=(10110000.0001)2=176.0625。
               十进制数与字符的编码表示
               数值、文字和英文字母等字符在进入计算机时,都必须转换成二进制表示形式,称为字符编码。
               用4位二进制代码表示1位十进制数,称为十进制编码,简称BCD编码。常用的十进制数的编码有8421 BCD码、余3码、格雷码。
               上述三种编码与十进制数的对应关系如下表所示。
               
               常用编码与十进制数的对应关系
               ASCII码
               ASCII码(American Standard Code for Information Interchange)是美国标准信息交换码的简称,该编码已成为国际通用的信息交换标准代码。
               ASCII码采用7个二进制位对字符进行编码,其格式为每1个字符有1个编码。每个字符占用1个字节,用低7位编码,最高位为0。其共有128个编码,编码从0~127,如下表所示,其中H表示高3位,L表示低4位。
               
               ASCII码表
               
               汉字编码
               汉字处理包括汉字的编码输入、汉字的存储和汉字的输出等环节。在汉字处理的各阶段,分为输入码、(机)内码、交换码(国标码)和字形码,各种码对应的处理过程如下所示:
               
               1)输入码
               数字编码:用数字串代表一个汉字的输入。国标区位码等便是这种编码法。
               拼音编码:是以汉语拼音为基础的输入方法。由于汉字同音字太多,输入重码率很高,因此,按拼音输入后还必须进行同音字选择,影响了输入速度。全拼、双拼、微软拼音等便是这种编码法。
               字形编码:是以汉字的形状确定的编码。汉字总数虽多,但都是由一笔一画组成,全部汉字的部件和笔画是有限的。因此,把汉字的笔画部件用字母或数字进行编码,按笔画书写的顺序依次输入,就能表示一个汉字,五笔字型、表形码等便是这种编码法,这种方法的缺点是需要记忆很多的编码。
               2)内部码
               汉字内部码(简称内码)是汉字在信息处理系统内部存储、处理、传输汉字用的代码。国家标准局GB2312—1980规定的汉字国标码中,每个汉字内码占两个字节,每个字节最高位置"1",作为汉字机内码的标示。以汉字"大"为例,国标码为3473H,两个字节的最高位为"1",得到的机内码为B4F3H。又例如:
               
               3)字形码
               汉字字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示。字形码也称字模码,它是汉字的输出形式,随着汉字字形点阵和格式的不同,汉字字形码也不同。常用的字形点阵有16×16点阵、24×24点阵、48×48点阵等。
               字模点阵的信息量是很大的,占用存储空间也很大,以16×16点阵为例,每个汉字占用32(16×16/8=32)个字节,两级汉字大约占用256KB。因此,字模点阵只能用来构成"字库",而不能用于机内存储。字库中存储了每个汉字的点阵代码,当显示输出时才检索字库,输出字模点阵得到字形。
               汉字的矢量表示法是将汉字看作是由笔画组成的图形,提取每个笔画的坐标值,这些坐标值就可以确定每个笔画的位置,所有坐标值组合起来就是该汉字字形的矢量信息。每个汉字矢量信息所占的内存大小不一样。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2018年上半年
   程序员
   上午试卷 综合知识
第22题
选择题
设机器码的长度为8位,已知[X]=[Y]=1111 1111,且X和Y都是带符号的整数,则X和Y的真值分别为( )。

28%
   2016年下半年
   程序员
   上午试卷 综合知识
第22题
选择题
已知x = -53/64,若采用8位定点机器码表示,则[x]=(21),[x]=(22)。

45%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有