数制是人们利用符号进行计数的科学方法。数制有很多种,常用的数制有:二进制、十进制和十六进制。
进位计数制是把数划分为不同的位数,逐位累加,累加到数码的最大值之后,再从零开始,同时向高位进位。进位计数制有三个要素:数码符号、进位规律和计数基数。表A-1是各常用数制的对比。
表A-1 常用数制的对比
我们日常生活中计数一般采用十进制。计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点。为区别于其他进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加B表示。二进制数中每一位仅有0和1两个可能的数码,所以计数基数为2。二进制数的加法和乘法运算如下:
0+0=0
0+1=1+0=1
1+1=10
0×0=0
0×1=1×0=0
1×1=1
由于二进制数在使用中位数太长,不容易记忆,为了便于描述,又常用十六进制作为二进制的缩写。十六进制通常在表示时用尾部标志H或下标16以示区别。可以说,十六进制纯粹是为了方便表示二进制,计算机本身只能识别与使用二进制。
A.1.1 数制转换
现在我们来介绍这些常用数制之间的转换。注意:这里我们只介绍整数部分的转换,小数部分请读者查阅相关资料。
1.二进制-十进制转换
方法:将二进制数按权(如下式)展开,然后将各项的数值按十进制数相加,就得到相应的等值十进制数。
例如:N=1101B,那么N所对应的十进制数是多少呢?
按权展开N=1×23+1×22+0×21+1×20=8+4+0+1=13
2.十进制-二进制转换
方法:整数部分转换(基数除法),除2取余,逆序排列。
除2取余法则:用2连续去除要转换的十进制数,直到商小于2为止,然后把各次余数按最后得到的为最高位和最先得到的为最低位,依次排列起来得到的数便是所求的二进制数。
例如:将(6)D转化为二进制数可按表A-2进行。
表A-2 十进制转换二进制过程
于是(6)D=110B。
3.二进制-十六进制转换
方法:二进制和十六进制之间满足24的关系,因此把要转换的二进制从低位到高位每4位一组,高位不足时在有效位前面添“0”,然后把每组二进制数转换成十六进制即可。
例如,将(010111011110)B转换为十六进制数
4.十六进制-二进制转换
方法:十六进制转换为二进制时,把上面二进制转换十六进制的过程逆过来,即转换时只需将十六进制的每一位用等值的4位二进制代替就行了。
例如:将(C1B)H转换为二进制数
于是(C1B)H=(110000011011)B。
5.十六进制-十进制转换
方法:将十六进制数按权(如下式)展开,然后将各项的数值按十进制数相加,就得到相应的等值十进制数。
例如:N=(2A)H,那么N所对应的十进制数时多少呢?(www.xing528.com)
按权展开N=2×161+10×160=32+10=42
于是(2A)H=(42)D。
6.十进制-十六进制转换
方法:整数部分除16取余,逆序排列。类似于十进制转换为二进制,这里不再详细讲解。
例如:(1234)D=(4D2)H,转换过程见表A-3。
表A-3 十进制转换十六进制过程
A.1.2 不同进制之间的对照关系表
不同进制之间的对照关系见表A-4。
表A-4 不同进制之间的对照关系
在生活中,数有正负之分,在计算机中是怎样表示数的正负呢?
在生活中表示数的时候一般都是把正数前面加一个“+”,负数前面加一个“-”,但是计算机是不认识这些符号的,通常在二进制数的最高位为符号位。符号位为“0”表示“+”,符号位为“1”表示“-”。这种形式的二进制数称为原码。如果原码为正数,则原码的反码和补码都与原码相同。如果原码为负数,则将原码(除符号位外)按位取反,所得的新二进制数称为原码的反码,反码加1为其补码。
原码、反码、补码的形式见表A-5。
表A-5 原码、反码、补码的形式
例:求+18和-18八位原码、反码和补码。
A.1.4 常用编码
指定某一组二进制数去代表某一指定的信息,就称为编码。
1.十进制编码
用二进制码表示的十进制数,称为十进制编码。它具有二进制的形式,还具有十进制的特点。它可作为人们与数字系统进行联系的一种中间表示。十进制编码有很多种,最常用的一种是BCD码,又称为8421码。
下面我们列出几种常见的十进制编码,见表A-6。
表A-6 几种常见的十进制编码
十进制编码分为有权编码和无权编码。有权编码是指每一位十进制数符均用一组四位二进制码来表示,而且二进制码的每一位都有固定权值。无权编码是指二进制码中每一位都没有固定的权值。表A-6中8421码(即BCD码)、2421码、5211码、7321码都是有权编码,而余3码是无权编码。
2.奇偶校验码
在数据的存取、运算和传送过程中,难免会发生错误,把“1”错成“0”或把“0”错成“1”。奇偶校验码是一种能检验这种错误的代码。它分为两部分;信息位和奇偶校验位。有奇数个“1”称为奇校验,有偶数个“1”则称为偶校验。
3.ACSII码
微型计算机不仅要处理数字信息,而且还要处理大量字母和符号的信息。人们这时需要对这些数字、字母和符号进行二进制编码。这些数字、字母和字符统称为字符,因此对字母和符号的二进制编码又称为字符的编码。
ASCII码是美国标准信息交换代码(American Standard Code for Information Interchange)的缩写,见表A-7。ASCII码用7位二进制数表示数字、字母和符号,共128个。包括英文26个大写字母、26个小写字母、0~9十个数字,还有一些专用符号(如“:”“!”“%”)及控制符号(如换行、换页、回车)。
表A-7 ASCII字符表
注:H表示高3位,L表示低4位。
查表方法:首先从表中查出字符,从该字符向上查得十六进制数的高4位,水平向左查得其低4位,合起来就得到该字符的ACSII码。
例:3的ACSⅡ码为0110011B。
作用:在字长8位的微型计算机中,用低7位表示ASCII码,最高位D7位可用作奇偶校验位。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。