一般来说,对于任意大于1的整数n,存在n进制,其特点是基数为n,逢n进一。其中最常用的是二进制、八进制和十六进制。
任意进制的数字对应的十进制值为:
Kn×Bn + Kn-1×Bn-1 + …… + K1×B1 + K0×B0 + K-1×B-1 + K-2×B-2 …… + K-m×B-m
上式中,B称为数字系统的基数,Bn至B0称为数字Kn至K0的权值。
1.基本知识
十进制
基数为10,逢10进1。在十进制中,一共使用10个不同的数字符号,这些符号处于不同位置时,其权值各不相同。
二进制
基数为2,逢2进1。在二进制中,使用0和1两种符号。
八进制
基数为8,逢8进1。八进制使用8种不同的符号,它们与二进制的转换关系为:
0:000 1:001 2:010 3:011 4:100 5:101 6:110 7:111
十六进制
基数为16,逢16进1。十六进制使用16种不同的符号,它们与二进制的转换关系为:
0:0000 1:0001 2:0010 3:0011 4:0100 5:0101 6:0110 7:0111
8:1000 9:1001 A:1010 B:1011 C:1100 D:1101 E:1110 F:1111
二进制数的运算
算术运算:加法
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10(向高位进1)
算术运算:减法
0 ? 0 = 0 0 ? 1 = 1(向高位借1) 1 ? 0 = 1 1 - 1 = 0
逻辑运算:或(∨)
0 ∨ 0 = 0 0 ∨ 1 = 1 1 ∨ 0 = 1 1 ∨ 1 = 1
逻辑运算:与(∧)
0 ∧ 0 = 0 0 ∧ 1 = 0 1 ∧ 0 = 0 1 ∧ 1 = 1
逻辑运算:取反
0取反为1 1取反为0
注意:算术运算会发生进位、借位,逻辑运算则按位独立进行,不发生位与位之间的关系,其中,0表示逻辑假,1表示逻辑真。
2.转换为十进制
二进制化为十进制
例:将二进制数101.01转换成十进制数
(101.01)2 = 1×22 + 0×21 + 1×20 + 0×2-1 + 1×2-2 = (5.25)10
八进制化为十进制
例:将八进制数12.6转换成十进制数
(12.6)8 = 1×81 + 2×80 + 6×8-1 = (10.75)10
十六进制化为十进制
例:将十六进制数2AB.6转换成十进制数:
(2AB.6)16 = 2×162 + 10×161 + 11×160 + 6×16-1 = (683.375)10
3.转换为二进制
八进制化为二进制
规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。
例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)2
十六进制化为二进制
规则:每1位十六进制数改写成等值的4位二进制数,次序不变。
例: (3A8C.D6)16 = (0011 1010 1000 1100.1101 0110)2 = (11101010001100.1101011)2
十进制整数化为二进制整数
规则:除二取余,直到商为零为止,倒排。
例:将十进制数86转化为二进制
2 | 86…… 0
2 | 43…… 1
2 | 21…… 1
2 | 10…… 0
2 | 5 …… 1
2 | 2 …… 0
2 | 1 …… 1
结果:(86)10 = (1010110)2
十进制小数化为二进制小数
规则:乘二取整,直到小数部分为零或给定的精度为止,顺排。
例:将十进制数0.875转化为二进制数
0.875
× 2
1.75
× 2
1.5
×2
1.0
结果:(0.875)10 = (0.111)2
4.转换为八进制
二进制化为八进制
进制数转换公式整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。
小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。
例:(11001111.01111)2 = (11 001 111.011 110)2 = (317.36)8
十六进制化为八进制
先用1化4方法,将十六进制化为二进制;再用3并1方法,将二进制化为8制。
例: (1CA)16 = (000111001010)2 = (712)8
说明:小数点前的高位零和小数点后的低位零可以去除。
十进制化八进制
方法1:采用除8取余法。
例:将十进制数115转化为八进制数
8| 115…… 3
8| 14 …… 6
8| 1 …… 1
结果:(115)10 = (163)8
方法2:先采用十进制化二进制的方法,再将二进制数化为八进制数
例:(115)10 = (1110011)2 = (163)8
5.转换为十六进制
二进制化为十六进制
整数部份从最低有效位开始,以4位为一组,最高有效位不足4位时以0补齐,每一组均可转换成一个十六进制的值,转换完毕就是十六进制的整数。
小数部份从最高有效位开始,以4位为一组,最低有效位不足4位时以0补齐,每一组均可转换成一个十六进制的值,转换完毕就是十六进制的小数。
例:(11001111.01111)2 = (1100 1111 .0111 1000)2 = (CF.78)16
八进制化为十六进制
先将八进制化为二进制,再将二进制化为十六进制。
例:(712)8 = (111001010)2 = (1CA)16
十进制化为十六进制
方法1:采用除16取余法。
例:将十进制数115转化为八进制数
16| 115…… 3
16| 7 …… 7
结果:(115)10 = (73)16
方法2:先将十进制化为二进制,再将二进制化为十六进制。
例:(115)10 = (1110011)2 = (73)16
.............................................................................................................................
A进制数X在B进制下数值为Y
X每位A进制数字分别在B进制下表示为b0,b1,b2,b3,...(整数部分),b(-1),b(-2),b(-3),...
A进制数10在B进制下值为p
公式为
Y=b0*p^0+b1*p^1+b2*p^2+b3*p^3+...+b(-1)*p^(-1)+b(-2)*p^(-2)+b(-3)*p^(-3)+...
二进制八进制十六进制之间相互转换的方法
由于8,16是与2是指数关系,转换方法简单一些
以小数点为界,二进制每3个数字一组表示一个八进制数,二进制每4个数字一组表示一个十六进制数。这样就简化了公式:首先分组按照公式转换,再把得到的数排列在一起。
如:
101110010101.101(二)
=1011 1001 0101.1010(二)
=B95.A(十六)
7AF.8E(十六)
=0111 1010 1111.1000 1110(二)
=011 110 101 111.100 011 100(二)
=3657.434(八)
十进制和二进制八进制十六进制则可以采用
除2/8/16取余法(不另说明)
还可用公式
例子
198
=128+64+4+2
=10000000(二)
+ 1000000(二)
+ 100(二)
+ 10(二)
=11000110(二)
.............................................................................................................................
十进制要转换成二进制时,把它除于二,所得的余数,然后从下往上读取,例如:把十进制9转换成二进制,9/2=4余1,4/2=2余0,2/2=1余0,1/2=0余1,那么十进制9的二进制为1001。二转成十时则公式为:第一位数x2的(总位数减一次方)+第二位数x2的(总位数减二次方)……依此类推~再举例把二进制1001转成十进制,公式为,=1*2^3+0*2^2+0*2^1+1*2^0=8+0+0+1=9 (2^3表示2的3次方)
.............................................................................................................................
计算机中数的表示方法--二进制
1. 二进制数的运算
电子计算机一般采用二进制数。二进制数只有0和1两个基本数字,容易在电气元件中实现。
二进制数的运算公式:
0+0=0 0×0=0
0+1=1 0×1=0
1+0=1 1×0=0
1+1=10 1×1=1
2.十进制和二进制间的转换
(1) 十进制数转换成二进制
将十进制整数转换成二进制整数时,只要将它一次一次地被2除,得到的余数从最后一个余数读起)就是二进制表示的数。
2) 二进制数转换成十进制数
将一个二进制数的整数转换成十进制数,只要将按权展开。
例:11011=1*24(2的4次方)+1*23(2的3次方)+0*22(2的2次方)+1*21(2的1次方)+1*20(2的0次方)=27
3. 不同进制数的转换
二进制数和八进制数互换:二进制数转换成八进制数时,只要从小数点位置开始,向左或向右每三位二进制划分为一组(不足三位时可补0),然后写出每一组二进制数所对应的八进制数码即可。
例:将二进制数(10110001.111)转换成八进制数:
010 110 001. 111
2 6 1 7
即二进制数(10110001.111)转换成八进制数是(261.7)。反过来,将每位八进制数分别用三位二进制数表示,就可完成八进制数和二进制数的转换。
二进制数和十六进制数互换:二进制数转换成十六进制数时,只要从小数点位置开始,向左或向右每四位二进制划分为一组(不足四位时可补0),然后写出每一组二进制数所对应的十六进制数码即可。
例:将二进制数(11011100110.1101)转换成十六进制数:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论