⼆、⼋、⼗、⼗六进制及⼩数间的转换
⽂章⽬录
⼀、进制表⽰符号
⼆进制:B ⽤0和1表⽰
⼋进制:O ⽤0、1、2、3、4、5、6、7
⼗进制:D ⽤0、1、2、3、4、5、6、7、8、9
⼗六进制:H ⽤0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
⼆、⼗进制转换为⼆进制、⼋进制、⼗六进制
2.1、⼗进制转换为⼆进制
整数部分:整数部分除2取余数,再取倒序
⼩数部分:⼩数部分乘2取整,再顺序取(⼩数部分为零时,即为乘完或者按题⽬要求精度要求取⼩数后⼏位)
eg:68.125D = 1000100.001B(精确到⼩数后4位)
解析:
68/2=34 0
34/2=17 0
17/2=8 (1)
8/2=4 0
4/2=2 0
2/2=1 0
1/2=0 (1)
整数部分倒序取为:1000100
0.125×2=0.25 0
0.25×2=0.5 0
0.5×2=1.0 (1)
⼩数部分顺序取为:001
2.2、⼗进制转换为⼋进制
整数部分:整数部分除8取余数,再取倒序
⼩数部分:⼩数部分乘8取整,再顺序取(⼩数部分为零时,即为乘完或者按题⽬要求精度要求取⼩数后⼏位)
eg:57.5D = 71.4O(精确到⼩数后3位)
解析:
57/8=7 (1)
7/8=0 (7)
整数部分为:71
0.5×8=4.0 (4)
⼩数部分为:4
2.3、⼗进制转化为⼗六进制
整数部分:整数部分除16取余数,再取倒序
⼩数部分:⼩数部分乘16取整,再顺序取(⼩数部分为零时,即为乘完或者按题⽬要求精度要求取⼩数后⼏位)
eg:69.625D=45.a H(精确到⼩数后2位)
解析:
69/16=4 (5)
4/16=0 (4)
整数部分为:45
0.625×16=10…a
⼩数部分为:a
三、⼆进制、⼋进制、⼗六进制转换为⼗进制
3.1、⼆进制转换为⼗进制
整数部分:每个数去乘以2的相应次⽅
⼩数部分:⼩数点后则是从左往右(从-1⼀直往后)。
eg:00101010.01B = 42.25D
解析:
最后⼀位下标为0,从0开始,向左记数
整数部分:
0 0 1 0 1 0 1 0 ---->⼆进制数(整数部分)
7 6 5 4 3 2 1 0 ---->下标
计算:
00101010B=0×2^6 + 0×2^5 + 1×2^5 + 0×2^4 + 1×2^3 + 0×2^2+ 1×2^1 + 0×2^0 = 42D
⼩数部分:
0 1 ---->⼆进制数(整数部分)
-1 -2 ---->下标
计算:
0.01B = 0×2^(-1) + 1× 2^(-2) = 0.25D
3.2、⼋进制转换为⼗进制
①整数部分:每个数去乘以8的相应次⽅
⼩数部分:⼩数点后则是从左往右(从-1⼀直往后)。
eg:71.4O = 57.5D
解析:
最后⼀位下标为0,从0开始,向左记数
整数部分:
7 1 ---->⼋进制数(整数部分)
1 0 ---->下标
计算:
71.4O=7×8^1 + 1×8^0 = 57D
⼩数部分:
4 ---->⼆进制数(整数部分)
-1 ---->下标
计算:
0.4O = 4×8^(-1)= 0.5D
3.3、⼗六进制转换为⼗进制
①整数部分:每个数去乘以16的相应次⽅
⼩数部分:⼩数点后则是从左往右(从-1⼀直往后)。
eg:a.2H = 10.125D
解析:
最后⼀位下标为0,从0开始,向左记数
整数部分:
a ---->⼋进制数(整数部分)
0 ---->下标
计算:
aH=a×16^0 = 10D
⼩数部分:
2 ---->⼆进制数(整数部分)
-1 ---->下标
计算:
0.2H = 2×16^(-1)= 0.125D
四、⼆进制转换为⼋进制、⼗六进制
4.1、⼆进制转换为⼋进制
取三合⼀法:以⼩数点为分界点,向左(向右)每三位取成⼀位(不⾜⽤零补齐),接着将这三位⼆进制按权相加,得到的数就是⼀位⼋位⼆进制数,按顺序进⾏排列,⼩数点的位置不变,得到的数字就是我们所求的⼋进制数。
eg:100011.01110B=43.34O
整数部分:
100 011
210 210 ------>下标
计算:
100=1×2^2 + 0×2^1 + 0×2^0 =4
011=0×2^2 + 1×2^1 + 1×2^0=3
100011B = 43O
⼩数部分
011 100
210 210
计算:
011=0×2^2 + 1×2^1 + 1×2^0=3
100=1×2^2 + 0×2^1 + 0×2^0=4
0.01110B=0.34O
4.2、⼆进制转换为⼗六进制
支持小数点的进制转换器
取四合⼀法:以⼩数点为分界点,向左(向右)每四位取成⼀位(不⾜⽤零补齐),接着将这四位⼆进制按权相加,得到的数就是⼀位⼗六位⼆进制数,按顺序进⾏排列,⼩数点的位置不变,得到的数字就是我们所求的⼗六进制数。
eg:11001.001B=19.2H
整数部分:
0001 1001
3210 3210 ---->下标
计算:
0001=1×2^3 + 1×2^2 + 0×2^1 + 0×2^0=1
1001=1×2^3 + 0×2^2 + 0×2^1 + 0×2^0=9
11001B=19H
⼩数部分
0010 ()不⾜四位⾃动补0
3210 ---->下标
计算:
0010 = 0×2^3 + 0×2^2 + 1×2^1 + 0×2^0=2
0.001B=2H
⼋进制转换成⼗六进制算法通常有两种⽅法:
1、先将⼋进制转换成⼆进制,再将⼆进制转换成⼗六进制
2、先将⼋进制转换成⼗进制,再将⼗进制转换成⼗六进制

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。