数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。人们通常采用的数制有十进制、二进制、八进制和十六进制。编码是信息从一种形式或格式转换为另一种形式或格式的过程。编码在计算、控制和通信等方面广泛使用。
1)数制的基本概念
虽然计算机能极快地进行运算,但其内部运算并不是使用人们在实际生活中所用的十进制,而是使用只包含0和1两个数值的二进制。
按进位的原则进行计数,称为进位计数制,简称数制。不论是哪一种数制,其计数和运算都有共同的规律和特点。
(1)逢N进一
N是指数制中所需要的数字字符的总个数,称为基数。例如用0、1、2、3、4、5、6、7、8、9这10个不同的符号来表示数值,这个“10”就是数字字符的总个数,也是十进制的基数,表示逢十进一。
(2)基数
基数是指一个数制所包括的数字符号的个数,这里的数字符号称为数码。
(3)位权表示法
位权是指一个数字在某个固定位置上所代表的值。处在不同位置上的数字所代表的值不同,每个数字的位置决定了它的值或者位权。位权与基数的关系:各进位制中位权的值是基数的若干次幂。
位权表示法的方法:每一位数要乘以基数的幂次,幂次以小数点为界,整数自右向左为0次方、1次方、2次方……,小数自左向右为-1次方、-2次方、-3次方……。
例如,十进制数803.77可以表示为:
(803.77)10=8×(10)2+0×(10)1+3×(10)0+7×(10)-1+7×(10)-2
2)常用的数制
常用的数制有多种,在计算机中采用二进制。为了表示方便,人们还经常使用八进制数或十六进制数。
(1)二进制数(B)
二进制数(Binary Number)用0、1两个数字表示,遵循“逢二进一”的原则,二进制的基数是2。
(2)八进制数(O)
八进制数(Octal Number)用0、1、2、…、7这8个数字表示,遵循“逢八进一”的原则,八进制的基数是8。
(3)十进制数(D)
十进制数(Decimal Number)用0、1、2、…、9这10个数字表示,遵循“逢十进一”的原则,十进制的基数是10。
(4)十六进制数(H)
十六进制数(Hexadecimal Number)用0、1、2、…、9、A、B、C、D、E、F这16个数码表示,遵循“逢十六进一”的原则,十六进制的基数是16。
3)各进制的书写格式
写法一:(1011.101)2,(331)8,(35.61)10,(FA5)16
写法二:1011.101B,331O,35.61D,FA5H
B——二进制;O——八进制;D——十进制;H——十六进制。
4)各进制相互转换规则
十进制、二进制、十六进制数之间的关系见表1.2。二、八、十及十六进制相互换规则有:
①二进制、八进制和十六进制转换为十进制:按权展开法。(www.daowen.com)
②十进制转换为二进制、八进制和十六进制:
•整数部分:除权取余法,倒读。
•小数部分:乘权取整法,正读。
③二进制转换为十六进制:四位转换为一位。
④十六进制转换为二进制:一位转换为四位。
表1.2 十进制、二进制、十六进制数之间的关系表
⑤二进制转换为八进制:三位转换为一位。
⑥八进制转换为二进制:一位转换为三位。
⑦八进制数转换成十六进制:可以先把八进制转换为二进制,再转换成十六进制。
⑧十六进制数转换成八进制:可以先把十六进制转换为二进制,再转换成八进制。
对于任何一个二进制数、八进制数、十六进制数都可以将它按权展开成多项式,再计算该多项式的值即可。
【例1.1】 (10001.1101)2=1×24+1×20+1×2-1+1×2-2+1×2-4=(17.8125)10
【例1.2】 (34.6)8=3×81+4×80+6×8-1=(28.75)10
思考:(FA9)16=( )10
【例1.3】 (158.5803)10=(10011110.10010)2(有效位数为5位)
思考:(158.5803)10=( )8
(158.5803)10=( )16
【例1.4】 (11010110011101.11101)2=(359D.E8)16
思考:(1001110111001.00111)2=( )16
【例1.5】 (5A9.B28)16=(10110101001.101100101)2
注意:最左边和最右边的0予以省略。
思考:(3D2.F4)16=( )2
【例1.6】 (11010110011101.11101)2=(32635.72)8
思考:(1001110111001.00111)2=( )8
【例1.7】 (453.127)8=(100101011.001010111)2
思考:(327.16)8=( )2
【例1.8】 (34.21)8=(011100.010001)2=(00011100.01000100)2=(1C.44)16
【例1.9】 (3A.52)16=(00111010.01010010)2=(000111010.010100100)2=(72.244)8
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。