进制转换
B表示二进制(0,1)
O/Q表示八进制(0~7)
D表示十进制(0~9)
H表示十六进制(A~F:10~15)
(1)带有小数点的数转换成二进制:
首先分成两部分,整数部分和小数部分
1.整数部分:
除2取余法:
将得到的余数逆向排列来得到整数部分的二进制
(要一直除到商为0结束,取余运算中,1除以2是商0余1)
2.小数部分:
乘2取整法:
1.小数部分*2后得到的结果整数部分保留为小数点后的下一位
2.然后将新的小数部分再*2然后重复操作直到全部取整后停止
Eg:12.6875
整数部分:逆向排序得到1100
小数部分:0.6875*2=1.375 此时的整数部分为1,则1为小数点后的下一位(1100.1?)
然后将小数部分再次*2 -> 0.375*2=0.75 此时的整数部分为0,则1100.10?
继续操作 0.75*2=1.50 则1100.101?
0.50*2=1 则1100.1011
所以我们可以得到12.6875转换成二进制后为1100.1011
(2)一些进制转换
十进制与其他进制的转换
1.十进制的数用n进制的n来做该十进制数的取余运算最后逆向排序即可
(注意如果是十六进制需要将逆向排列后大于9的数字用A~F中相对应的字母替换)
Eg:56D(十进制的56)转换成二进制那就是56做2的取余运算
计算得到56D转换成二进制为111000
2.同样的,如果要其他进制(n进制,n = 2,8,16...)转换成十进制
则为第 m位数字*n^(m-1)之和(m为对应的位数,个位数为1,十位数为2...)
Eg:27O(八进制的27)转换成十进制
2*8^1+7*8^0=23
二进制、八进制、十六进制之间的转换
- 二进制转换成八进制、十六进制
从二进制数的小数点开始,分别向前向后每三位二进制转换为一位八进制,不够补0
(2*2*2=8)
从二进制数的小数点开始,分别向前向后每四位二进制转换为一位十六进制,不够补0(2*2*2*2=16)
- 八进制、十六进制转换成二进制
八进制转换二进制:
1.将八进制数的每一位转换为对应的三位二进制数
2.将得到的二进制数拼接在一起,即可得到最终转换出来的二进制数
十六进制将每一位转换为对应的四位二进制数然后拼接即可
3.八进制和十六进制的转换
通过二进制来实现八进制和十六进制之间的转换
八进制<->二进制<->十六进制(更加容易算)
(该内容属于计算机基础,文章标签只是为了能够发布)