目录
1.常见的进制
在计算机中常见的进制有:二进制,八进制,十进制和十六进制
1.1 二进制
在电子计算机处理信息时,用的都是"0"和"1"两个数字来表示所要表达的信息,这种数制就叫做 二进制。
二进制的特点:
1.二进制数只有"0"和"1"两个数码,基数为2,最大数为1
2.在计数时,采用逢二进一 借一当二的原则
二进制的运算
二进制的位权值为:2^k (k为数位)
例如10010011=1x+0x+0x+1x+0x+0x+1x+1x=147;
二进制数的算术运算规则,除进位和借位外,其余和十进制数相同。
逢二进一 借一当二
二进制的加法规则:
0+0=0;1+0=1;0+1=1;1+1=进1取0;
二进制的减法规则:
0-0=0;1-0=1;0-1=借位为1;1-1=0;
二进制的乘法规则;
0x0=0;1x0=0;0x1=0;1x1=1;
1.2 八进制
八进制的特点:
1.八进制由数字0~7组成,基数为8,最大数为7
2.在计数时,采用逢八进一 借一当八的原则
八进制的计算
八进制的位权值为 8^k (k为数位)
例如1277=1x+2x+7x+7x=703;
逢八进一 借一当八
八进制的加法规则:
1+6=7; 1+7=进1取0 (10)
八进制的减法规则:
5-2=3;52-16=34;
1.3 十进制
十进制的特点:
1.十进制由数字0~9组成,基数为10,最大数为9
2.在计数时,采用逢十进一 借一当十的原则
十进制的计算
十进制的位权值为 10^k (k为数位)
例如1001=1x+0x+0x+1x=1001
逢十进一 借一当十
十进制的加法规则:
3+4=7;5+5=进1取0(10)
十进制的减法规则:
4-3=1;31-15=16;
1.4 十六进制
十六进制的特点:
1.十进制由数字0~F (0~9、A、B、C、D、E、F)组成,基数为16,最大数为F
2.在计数时,采用逢十六进一 借一当十六的原则
3.后缀用H、16或0X来表示 例如:(1001)16、(1001)H、0X1001
十六进制的计算
十六进制的位权值为 16^k (k为数位)
例如:0x1D3A=1x+13x+3x+10x=7482
逢十六进一 借一当十六
十六进制的加法规则:
3+4=7;6+7=D;13+BA=CD;
十六进制的减法规则:
7-2=5;A-3=7;43-2F=14;
2.进制间转换
2.1二进制和八进制
二进制转八进制
取三合一法
从二进制的小数点为分界线,向左(向右)每三位取成一位,接着将这三位二进制按权相加,然后按顺序进行排列,小数位置不变,得到的数就是所求的一个八进制数。
例如:100110.101=100 110. 101=4 6. 5=46.5
如果向左(向右)每三位取,凑不足三位时,可以在最高位(小数的最低位)添0,凑足三位。
例如:10011.10=010 011.100=2 3.4=23.4
八进制转二进制
取一分三法
将一位八进制数分解成三位二进制数的每一位拆成三位二进制对应的数字。按照顺序,每一位八进制数改写成等值的三位二进制数,次序不变。
例如:将八进制数56.3转化为二进制
5对应的二进制为101,6对应的二进制为110,3对应的二进制为011(不足三位的补0),小数点不变,可以将八进制56.3转化为二进制101110.011。
2.2二进制和十进制
二进制转十进制
整数部分按权相加法
将二进制数从右向左乘以2的相应的次方(次方从0开始),再将其每个数进行相加。
例如:二进制数11011转换为十进制:
1x+1x+0x+1x+1x=1+2+0+8+16=27
小数部分按权相加法
从小数点开始,从左向右(从-1)开始
例如:二进制数0.101转换为十进制:
1x+0x+1x=0.625
十进制转二进制
整数辗转相除法
用2辗转相除至结果为1,将余数和最后的1从下向上倒序写,就是得到的二进制数
例如:321
321/2=160 余1
160/2=80 余0
80/2=40 余0
40/2=20 余0
20/2=10 余0
10/2=5 余0
5/2=2 余1
2/2=1 余0
所以转换成二进制为101000001
小数部分辗转相乘法
用2和小数部分连续相乘,取整数部分,直至乘到小数部分为0
例如:0.375
0.375
x 2
0.75 0
x 2
1.5 取1
x 2
1.0 取1
所以0.375的二进制序列为011
2.3二进制和十六进制
二进制转十六进制
取四合一法:
从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。
例如:1011010=0(补0)101 1010=0x+1x+0x+1x 1x+0x+1x+0x=5A
1011.101=1011.1010(补0)=1x+0x+1x+1x 1x+0x+1x+0x=B.A
十六进制转二进制
取一分四法:
将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置不变。
二进制 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
十六进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
例如:
十六进制数A4D6转换成二进制数:
A=1010;
4=0100;
D=1101;
6=0110;
然后结合,得到十六位的二进制数为1010 0100 1101 0110.
2.4八进制和十进制
八进制转十进制
以小数点为界,将八进制数从右向左乘以8的相应的次方(次方从0开始),小数部分从-1开始,从左向右,再将其每个数进行相加。
例如:
八进制数321.23转换为十进制:
1x+2x+3x=209;
2x+3x=0.296875;
整数和小数相加得209.296875.
十进制转八进制
整数辗转相除法
用8辗转相除至商为0为止,将余数和最后的商从下向上倒序写,就是得到的八进制数
例如:236
236/8=29 余4
29/8=3 余5得到的八进制数为:354
小数辗转相乘法
小数部分和8相乘,取整数,从上往下正写,就是得到的小数部分的八进制数
例如:0.25
0.25
x 8
2.0 取2
得到小数部分的八进制数位0.2
2.5八进制和十六进制
八进制转十六进制
先把八进制转成二进制,再通过二进制转换十六进制
例如:把八进制12345转换为十六进制
先转成二进制 001 010 011 100 101
再转成十六进制从右往左开始每4个一组,凑不够4个,高位取0
0001 0100 1110 0101 转换为十六进制为14E5
十六进制转八进制
先把十六进制转为二进制,再将二进制转换八进制
例如:把十六进制A4E6转换成八进制
先转换成二进制
A=1010
4=0100
E=1110
6=0110
转换成的二进制为1010 0100 1110 0110
再转换成八进制为每三个一组按权相加, 如果向左(向右)每三位取,凑不足三位时,可以在最高位(小数的最低位)添0,凑足三位。
001 010 010 011 100 110
转换成八进制为:122346
2.6十进制和十六进制
十进制转十六进制
整数辗转相除法
用16辗转相除至商为0为止,最后得到的商(0的前一位)是所求十六进制的最高位,将余数从下向上倒序写,得到所求十六进制数。
例如:十进制数66转换为十六进制
66/16=4 余2
所以所求的十六进制为42
十进制数226转换为十六进制
226/16=14 余2
所求十六进制数为E2
十进制数1556转换为十六进制
1556/16=97 余4
97/16=6 余1
所求十六进制为614
小数部分
小数辗转相乘法
小数部分连续乘16,依次取出整数部分,直至小数部分为0为止
例如:十进制数66.5
整数部分为42
0.5
x16
8
小数部分为8
所以十进制数66.5的十六进制为42.8
十六进制转十进制
按权相加法
以小数点为界,将八进制数从右向左乘以16的相应的次方(次方从0开始),小数部分从-1开始,从左向右,再将其每个数进行相加。
例如:十六进制数A3C6转换为十进制:
6x+12x+3x+10x=41926
十六进制数C5D.2转换为十进制:
整数部分13x+5x+12x=3165
小数部分2x=0.125
所以转换成的十进制为3165.125.
以上就是常见的进制和进制间的转换,希望各位大佬多多支持~
标签:十六进制,转换,进制,二进制,1x,常见,八进制,十进制,小数 From: https://blog.csdn.net/2301_80706853/article/details/137377139