计算机中的信息分为数据与指令。前者是被计算机处理的信息,分为数值型数据与非数值型数据(如字符、图像、视频、音频等)。指令信息则是计算机产生各种控制命令的基本依据。本节介绍数值型数据的进位制、字符和汉字的表示方法。
日常生活中,经常采用的进位制很多,比如,一打等于12个(十二进制)、1 m等于10 dm(十进制)等。其中十进制是人们习惯使用的进制,它的特点是有10个数码0~9,进位关系是“逢十进一”。而在计算机中存储的信息均采用二进制,但为了表示与记忆方便还引入八进制和十六进制。
1.计算机系统的基本结构
一个完整的计算机系统是由计算机硬件系统和计算机软件系统两部分组成的。硬件系统是计算机组成部件的总称,是计算机实现其功能的物质基础。软件系统是指挥计算机运行的程序集,按功能分为系统软件和应用软件。
二进制
二进制是“逢二进一”,所有的数都用两个符号 0 或 1 表示。二进制的每一位只能表示 0 或 1。例如,十进制数 1、2、3 用二进制表示分别为:(1)10 =(0001)2、(2)10 =(0010)2 、(3)10 =(0011)2
八进制二进制的缺点是表示一个数需要的位数多,书写数据和指令不方便。为方便起见,将二进制数从低向高每三位组成一组。例如,一个二进制数(100100001100)2,若每三位一组,即(100 100 001 100)2 可表示成八进制数(4414)8,如此表示使得每组的值大小是十进制数 0(000)~7(111),正好满足八进制要求的 8 个字符,且数值“逢八进一”,即八进制
十六进制若每四位分为一组,即(1001 0000 1100)2,每组的值大小是十进制数0(0000)~15(1111),用 A、B、C、D、E、F 分别代表十进制的 10~15 的 6 个数,正好满足十六进制要求的 16 个字符,且数值“逢十六进一”,即十六进制。上面的二进制数可以表示成十六进制数(90C)16
1.3.2数制转换
计算机中常用二进制、八进制、十六进制和十进制。二进制数容易用逻辑线路处理,而用户更容易接受十进制数。两者之间的进制转换是经常遇到的问题。另外,八进制与二进制相互转换,十六进制与二进制相互转换都是在数制转换中常见的,数制转换就是进位制转换, 下面分别加以介绍。
进制数转换
说明
案例
八进制数—二进制数的转换因为 23=8,故 1 个八进制位对应 3 个二进制位,可以把一个八进制数的整数部分和小数部分的每一位分别转换成 3 位二进制数(103.4)8=(001 000 011.100)2(741)8=(111 100 001)2二进制数—八进制数的转换因为 23=8,故 3 个二进制位对应 1 个八进制位,可以从小数点位置分别向左和向右把每 3 位二进制数划分为一组,并转换成 1 位八进制数。注意:小数部分分组时若低位不足 3 位时要用 0 补足,否则会出错(10110110.1)2=(266.4)8,而不是(266.1)8十六进制数—二进制数的转换因为 24 =16,故 1 个十六进制位对应 4 个二进制位,可以把一个十六进制数的整数部分和小数部分的每一位分别转换成 4 位二进制数(123)16=(0001 0010 0011)2(D2C8)16=(1101 0010 1100 1000)2二进制数—十六进制数的转换因为 24 =16,故 4 个二进制位对应 1 个十六进制位,可以从小数点位置分别向左和向右把每4 位二进制数划分为一组,并转换成1 位十六进制数。注意:小数部分分组是若低位不足 4 位要用 0 补足,否则会出错(10110110.11)2=(1011 0110.1100)16=(B6.C)16,而不是(B6.3)16(100110111)2=(1 0011 0111)2=(137)16八、十六进制数—十进制数的转换可以采用对各位实际值累加求和的方法完成(123)16 =1×162+2×161+3×160 =(291)10(123)8 =1×82+2×81+3×80 =(83)10十进制数—八、十六进制数的转换可先将十进制数转换为二进制数,再转换成对应的八进制数、十六进制数;也可以将一个十进制数直接转换为对应的八进制数或十六进制数对整数采用除8取余、高位在下的原则得到八进制数;或采用除16取余、高位在下的原则得到十六进制数1.3.3字符编码
因为计算机要用于信息管理,而计算机又只能识别二进制,所以,需要将有关的字符和文字信息进行二进制编码。国际上通用的英文字符编码是 ASCII(American Standard Code for Information Interchange)码,即美国信息交换标准代码。它采用 7 位或 8 位二进制数编码表示十进制的 10 个阿拉伯数字、英文字母和常用符号,如运算符、括号、标点符号、标识符等, 还有一些控制符以及扩展的制表符等。7 位二进制数一共可以表示 128 个字符。
其中,10 个阿拉伯数字 0~9(ASCII 码的十进制数为 48~57)、52 个大小写英文字母(A~Z 为 65~90,a~z 为 97~122)、32 个标点符号和运算符,以及 34 个控制符。如图1.6所示。
,