进制转换
一.正数的进制转换
1.10进制->n进制
10进制转化成n进制的方法是 对n取余,所得余数倒序就是该10进制的n进制表示;
例如:10进制数:15,转换为16进制为:
15%16商0余15,所以结果为F
2.n进制->10进制
n进制转化成10进制的方法是 对n进制各位加权值求和;
例如:二进制数:0110 0100,转换为10进制为:
0 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 + 1 * 2 ^ 6 + 0 * 2 ^ 7 = 100
3.16进制->2进制
每位16进制转换成4位2进制,不足4位高位补0
4.2进制->16进制
每4位2进制转换成1位16进制
5.8进制->2进制
每位8进制转换成3位2进制,不足3位高位补0
6.2进制->8进制
每3位2进制转换成1位16进制
7.16进制->8进制 与 8进制->16进制
通过2进制转换
8.小数的转化
10进制小数→→→→→2进制小数:乘2取整
乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。
例:
(0.5125)10=(0.101)2
10进制小数→→→→→8进制小数 方法:“乘8取整”
10进制小数→→→→→16进制小数方法:“乘16取整”
例:
(0.71875)10=(0.56)8
(0.142578125)10=(0.3C8)16
16进制小数→→→→→2进制小数方法:同整数部分转换
8进制小数→→→→→2进制小数方法:同整数部分转换
二.负数的进制转换
先把负数写为其补码形式,然后再参照正数的进制转换进行
补码等于反码的最低位加1,0的补码是0
补码参见:http://hi.baidu.com/guopingxiang/blog/item/3e05f31bae42c1ccad6e758f.html