‘壹’ 计算机组成原理中数值数据和非数值数据
数值数据在计算机中用二进制表示。非数值数据又称为字符数据,通常是指字符,字符串,图形符号和汉字等各种数据,它们不用来表示数值的大小,一般情况也不进行算术运算。ASCII为美国国家信息交换字符码。用七位二进制数表示一个字符。共128个。10个十进制数,52个英文大小写,34个专用字符和32个控制字符。汉字可以用国标码表示,也可以用区位码,以及机内码。汉字的字形码用来在点阵中显示汉字。
‘贰’ 大学计算机基础:简述数值、字符、汉字、声音、图像等信息在计算机中是如何表示的
计算机要处理的信息是多种多样的,如日常的十进制数、文字、符号、图形、图像和语言等。但是计算机无法直接“理解”这些信息,所以计算机需要采用数字化编码的形式对信息进行存储、加工、和传送。
信息的数字化表示就是采用一定的基本符号,使用一定的组合规则来表示信息。计算机中采用的二进制编码,其基本符号是“0”和“1”。
主要有数的表示和非数值表示
一、计算机中数的表示
在普通数字中,用“+”或“—”符号在数的绝对值之前来区分数的正负。在计算机中有符号数包含三种表示方法:原码、反码、补码。
1、原码表示法:
用机器数的最高位代表符号位,其于各位是数的绝对值。符号位若为0则表示正数,若为1则表示负数。
2、反码表示法:
正数的反码和原码相同,负数的反码是对原码除符号位外各位取反。
3、补码表示法:
正数的补码和原码相同,负数的补码是该数的反码加1。
‘叁’ 什么是非数值型数据的基础
非数值型数据的基础是字符数据。非数值数据(符号数据)则用于表示一些符号标记,如英文字母、数字、标点符号、运算符号、汉字、图像、语言信息。基础是字符数据,所用的编码是ascll编码。
‘肆’ 计算机内部表示信息的方法
计算机在处理各种信息时,首先要将信息表示成具体的数据形式。计算机内的信息都是以二进制数的形式表示,但人们日常生活中惯用的毕竟是十进制数。为了简化二进制的表示,在计算机科学中还引入了八进制和十六进制。
一、常见的进位计数制
人们的生产和生活中离不开数,数有各种表示方法,通常把数的记写和命名称为计数;不同的记写和命名方法构成计数制,即数制。按进位的原则进行计数,称为进位计数制。进位计数制的种类很多,例如,人们日常生活中使用的十进制、表示角度用的60进制、表示时间(小时)用的12进制等。
1.计数制的概念
构成进位计数制要有两个基本要素:
(1)基数——基本符号的个数。
(2)进位所遵循的原则:逢基数进一。
例如:十进制数的基本符号为:0、1、2、3、4、5、6、7、8、9;基数是10;进位原则是:逢十进一。
有了进位制,就有了数据的表示方法和计算的依据。一般说来,任何R进制都可采用位权表示法。
例2-1:十进制数234.56按位权展开的多项式为:
234.56=2×102+3×101+4×100+5×10-1+6×10-2
一般的,在R进位制下的数可以表示为:
anrn+an-1rn-1+…+a1r1+a0r0+a-1r-1+a-2r-2+…+a-mr-m
其中,an,an-1,…,a-m为系数,r为基数,n,n-1,…,1,0,-1,-2,…,-m为权。
2.常用进位计数制表示方法
在计算机科学中,常用进位计数制有二进制、八进制、十进制和十六进制。
(1)基本符号
二进制:R=2,基本符号是0、1
八进制:R=8,基本符号是0、1、2、3、4、5、6、7
十进制:R=10,基本符号是0、1、2、3、4、5、6、7、8、9
十六进制:R=16,基本符号是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F;其中A~F分别对应十进制数的10~15。
十、二、八、十六进位制对应关系如表2-1所示。
(2)表示方法 由于不同进位制中存在相同的符号,为了加以区别,常在数据后加上一个英文字母作为不同进制数据的标识,二进制用B(BIN),八进制用O(OCT),十进制用D(DEC),十六进制用H(HEX)。也可以在数据右侧用基数标注来区别不同的进位制数据。
例如:二进制数10101可表示为:10101B或101012,
八进制数132可表示为:132O或1328,
十进制数45.27可表示为45.27D或45.2710,
十六进制数43F可表示为43FH或43F16。
当十六进制数最高位为字符符号时,为了与变量名区别,需要在其前冠以数字0。例如:十六进制数CE5表示为0CE5H或0CE516。
表2-1 十、二、八、十六进位制对应关系
(3)按位权展开式 任意进制数都可按位权展开为多项式,计算该多项式可以得到它相应的十进制数值。实际上,这也是把任意进制数转换成十进制数的方法。
例2-2:10101B=1×24+0×23+1×22+0×21+1×20=21D
例2-3:1011.101B=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3=8+0+2+1+0.5+0+0.125=11.625D
例2-4:132Q=1×82+3×81+2×80=90D
例2-5:43FH=4×162+3×161+15×160=1087D
在微型计算机的应用中,内存地址的编址、显示内存单元里的数值、显示ASCII码值、汇编语言源程序中的地址和数值信息均采用十六进制数表示。例如1M内存,其内存单元的编址为00000H-0FFFFFH。
还要强调指出,在微型计算机的应用中引入十六进制数的目的主要是为了书写上的方便,实际上在计算机内部信息处理仍采用二进制数。
(4)进位规则下的简单运算 无论何种进位制,其进位规则都是:“逢基数进一”,对于二进制是“逢二进一”,对于十六进制是“逢十六进一”。借位也是遵循这个规则。
例2-6:计算1011B+1010B的值。
信息技术基础第一册基础篇(第二版)
则:1011B+1010B=10101B
二、不同计数制间的等值转换
二进制计数与人们日常应用习惯的十进制数差别很大,二进制数的数位比起等值的十进制数要长的多,而且读写困难,作为书写、交流的手段,使用二进制数是很不方便的,因此人们通常使用八进制和十六进制作为二进制的缩写方式。这就产生了一个不同进制之间的转换问题。
1.十进制转换为任意进制的基本方法
在十进制数转换为其他进制数要按照十进制数的整数部分和小数部分两种不同的情况采用不同的方法来处理。
(1)十进制整数转换为其他进制整数的方法如下:
十进制整数转换成其他进制采用“除基数取余”法,转换过程是,将十进制整数除以基数,得到一个商和余数,再将商除以基数,得到另一个商和余数,如此继续下去直到商为0结束。最后将余数按逆向方式依次排列,即最后一个余数作为最高位,第一个余数为最低位,即可得到以该基数为进制的各位数字。
例2-7:将13D转换为二进制数。
信息技术基础第一册基础篇(第二版)
则13D=1101B
(2)十进制纯小数转换为其他进制纯小数的方法如下:
十进制纯小数转换为其他进制纯小数采用“乘基数取整”的方法。转换过程是,将十进制纯小数乘以基数,得到一个积,然后去掉积的整数部分,将剩下的纯小数再乘以基数,如此继续下去,直到纯小数部分为零或满足所要求的精度为止。最后将去掉的整数部分(0或1)按乘得的先后依次排列下去,即可得到所求小数点后的各位数字。
例2-8:将0.25D转换为二进制数。
信息技术基础第一册基础篇(第二版)
则0.25D=0.01B
混合小数由整数和纯小数部分组成,十进制混合小数转换为其他进制数时,先将这两部分按前面所介绍的方法分别转换为对应的整数部分和小数部分,然后再用小数点将它们组合起来。
需要指出,在十进制数小数转换为其他进制数小数时,并不是都可以完整地实现精确转换,例如:0.13D无论进行多少次乘2运算,其小数部分都不可能为0,因此,只能根据精度需要进行有限次运算得到适当的近似值。
2.二进制与八进制、十六进制数之间的相互转换
二进制、八进制、十六进制数都可以表示为2的整数次幂的形式,我们可以从中看到它们之间存在如下特殊的关系(表2-2):
表2-2 二进制、八进制、十六进制数转换关系
从以上关系可以看到3位二进制数恰好是一位八进制数,4位二进制数恰好是一位十六进制数。因此,二进制数与八进制数,二进制数与十六进制数之间的同值转换则可以通过“分组法”实现。
(1)二进制数与八进制数之间的同值转换 二进制数转换为八进制数时,以小数点为界,整数部分自右至左,每3位一组,最左边不足三位时,在最左边用0补齐;小数部分自左至右,每3位一组,最右边不足三位时,在最右边用0补齐;然后各组转换成相应的八进制数。
例2-9:将11101.11001B转换为八进制数
11101.11001B=(011)(101).(110)(010)=35.62O
反之,将八进制数转换为二进制数,只要把每位八进制数用对应的3位二进制数表示即可。
例2-10:将15.32O转换为二进制数
15.32O=(001)(101).(011)(010)=1101.01101B
(2)二进制数与十六进制数之间的同值转换 与二进制数转换为八进制数的转换相仿,只是按4位二进制数对应一位十六进制数进行分组即可。
例2-11:将1100011.10111B转换为十六进制数
(1100011.10111)B=(0110)(0011).(1011)(1000)=62.B8H
例2-12:将26D3.4AH转换为二进制数
26D3.4AH=(0010)(0110)(1101)(0011).(0100)(1010)=10010011011010011.0100101B
3.十进制数与二进制数相互转换的简便方法
二进制数与十进制数之间的转换,无论是“除二取余”、“乘二取整”,还是使用“按权位相加”等方法,运算都很复杂,特别是在作较大数值转换时,更不便记忆且也容易出错,下面给出十进制数与二进制数相互转换的简便方法供参考。
为了研究的方便,首先给出如下二进制数位权与对应二进制数的对照表:
十进制整数与对应的二进制整数的对照表如表2-3所示。
表2-3 十进制整数与对应的二进制整数的对照表
十进制小数与对应的二进制小数的对照表如表2-4所示。
表2-4 十进制整数与对应的二进制小数的对照表
利用上表,采用“降幂法逐次查找”的方法,即可方便地进行十进制数与二进制数相互转换,我们可以通过下面实例描述用“降幂法逐次查找”将十进制数1250D转换为同值的二进制数的基本过程。
1250D=1024+(1250-1024)=1024+226=1024+128+(226-128)=1024+128+98=1024+128+64+(98-64)=1024+128+64+34=1024+128+64+32+(34-32)=1024+128+64+32+2=210+27+25+21=1001110010B
同样,可以利用对照表,参照上述方法实现十进制小数与对应的二进制小数的转换。
三、计算机中非数值信息的数据编码
将各种信息形式转化二进制编码形式的过程叫做数字化。在计算机的虚拟世界中,除了数值信息,还有文字、符号、图像、声音、动画等丰富多彩的非数值信息,它们也都是用二进制特定编码来表示的。因为信息的表示完全依赖于计算机的硬件及其物理状态,因此必然有其特殊的实际意义和优势。
1.采用二进制编码的优势
(1)易于物理实现且稳定可靠 二进制的基本符号是“0”和“1”,它们与稳定状态的物理现象有准确的对应关系,例如,电压的“正”与“负”、电路的“通”与“断”、光的“有”与“无”、材料的“磁化”与“未磁化”等。计算机的各组成部分都由仅有两个稳定状态的电子元件组成,不仅容易实现,而且稳定可靠。
(2)运算简单 二进制仅有2个基本符号,运算法则也就极其简单,以乘法为例,只有0×0、1×0和1×1这3种形式,而采用十进制则需要55种形式。显然,计算机内部采用二进制编码可以大大简化物理设计。
(3)可以方便地实现逻辑功能 二进制的两个基本符号“0”和“1”恰好对应逻辑判断的“真”与“假”,在计算机内部采用二进制编码可以方便地实现逻辑功能。
(4)保证可靠性“0”和“1”是二进制仅有的基本符号,也就是说,某一数位不是“0”,便是“1”,没有其他可能。两种状态十分分明。用物理量表示这两种状态可使数据在传递过程中的抗干扰能力、鉴别信息能力以及纠错能力大为提高,从而使可靠性得到保证。
2.常用的编码形式
非数值信息在计算机内需要特定的二进制代码编码表示。编码是指用少量基本符号根据一定规则组合起来以表示大量复杂多样信息的方法。计算机中的数据编码很丰富,这里仅简单介绍以下几种常用的编码形式。
(1)ASCII码 ASCII码(American Standard Code For Information Interchange,美国标准信息交换码)是目前在微型计算机中最普遍使用的字符编码,是用7或8位二进制数进行编码的。字节最高位一般不使用,基本ASCII码最多可以表示128个不同字符,其最高位可作为校验码,用于提高字符信息传递的可靠性。
基本ASCII码包括0~9共10个数字字符,大小写英文字母及专用符号等95个可打印字符,除此还有33个控制字符。每一个字符对应一个二进制编码,按类别顺序排列,以便于查找。例如0~9这10个数字用30H~39H表示,即110000B~111001B。基本ASCII码表见附录。
ASCII码是可以扩展的,尽管美国国家信息协会已对扩展ASCII码给出了定义,但实际上多数国家都将扩展的ASCII码规定为自己国家语言的字符代码,如中国把扩展ASCII码作为汉字的机内码。
(2)汉字编码 汉字的字数繁多,字形复杂,字音变化多样,常用的汉字就有7000个左右,用一个字节表示是绝对不可能的,因此多采用2个字节表示。在计算机中使用汉字,必须要解决汉字的输入、存储和输出等关键问题。
在输入汉字时,使用“输入码”,根据不同的输入方法,它又细分为区位码、拼音码、字形码。在计算机内部处理汉字时需用汉字机内码,把汉字编码转换成二进制的专用代码来处理。在输出汉字时,需要字形码,这样才能使汉字正确地显示在输出设备上。
四、信息的计量单位
在计算机内部,数据是信息的载体。无论是程序还是数据信息(包括数值信息和非数值信息)都以二进制形式存放在存储器(包括内存和外存)中。数据存储、信息传递、软件设计、计算机性能评价等都涉及到信息的计量。信息计量的单位为以下几种:
(1)位/比特(bit)位是计算机中存储信息的最小单位;通常称为一个比特(bit)。一个比特就是一个二进制数位,即一个“0”或一个“1”。
(2)字节(B、Byte)字节是计算机中信息存储和处理的最小单位,一个字节有8个二进制数位,即有8个比特。一个字节可以存放一个ASCII字符代码,也可以存放-128~127范围内的整数。
随着计算机存储信息容量的不断扩大,用字节来度量存储容量会出现很大的数值,于是便出现了KB(千字节)、MB(兆字节)、GB(吉字节)、TB(太字节)和PB等度量单位。它们的关系是:
1 KB=1024 B 1MB=1024 KB 1GB=1024MB 1 TB=1024GB。
(3)字 字又称为“计算机字”,是2个字节的组合。字作为独立的信息单位存在,是信息存储、加工、交换的基本单元。字常用来表示数据或信息的长度,例如,1个汉字占1个字,即占2个字节。一般一个整数占一个字,即16位二进制数位,一个单精度实数占2个字,即占32位二进制数位。