----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
二进制整数以及小数和各种进制之间的互换-->>各种进制
二进制整数-=->>>各种进制
1二进制整数 --->>>十进制
二进制整数转换为十进制采用的方法是:数字乘位权相加法。下面先以十进制为例来说明该
方法,例如十进制数字 345 的值,5 的位权是 1,4 的位权是 10,3 的位权是 100,则有如
下表达式成立:345=5*1 + 4 *10 + 3 *100,这就是数字乘位权相加法的原理。
其实对于十进制整数的位权很有规则,从右向左第 n 位的位权是十的(n-1)方,例如个位是10(1-1),十位是 10(2-1),依次类推。那么二进制整数的位权规律和这个一致,也就是从右向左第 n 位的位权是二的(n-1)方。
例如二进制整数 1011 转换为十进制的表达式为:
[1011]2 = 1 × 20 + 1 × 21 + 0 × 22 + 1 × 23 = 1 + 2 + 0 + 8=11
2二进制整数--->>>八进制
二进制整数转换为八进制的方法是“三位一并“,也就是从右侧开始,每 3 位二进制数
字转换为八进制的一位,依次类推,因为二进制的三位数字可以表达的区间是 000-111,刚
好和 0-7 重合。例如:
二进制的 10111 转换为 8 进制为:最后三位 111 转换为 7,前面的数字 10 转换为 2,
则转换后得到的八进制数字为 27。
3二进制整数--->>>十六进制
二进制整数转换为十六进制的方法是“四位一并“,例如 10111 转换为十六进制是 0111
转换为 7,1 转换为 1,则转换后得到的十六进制数字是 17。
二进制小数 --->>>各种进制
1 二进制小数--->>>十进制
对于二进制的小数,和二进制整数转十进制采用一样的方法,只是二进制小数的位权规则为,小数点后第一位小数的位权是 2 的-1 次方,第二位是 2 的-2 次方,依次类推。
例如二进制小数 0.1101 转换为十进制小数的表达式为
[0.1101]2=1 ×2-1 + 1 ×2-2 + 0 × 2-3 + 1 × 2-4 = 0.5 + 0.25 + 0 + 0.0625=0.8125
2 二进制小数--->>>八进制
二进制小数转换为八进制的方法也是“三位一并“,只是转换时从小数的高位开始,也
就是小数的左侧开始。例如 0.10111 转换为八进制是 101 转换为 5,110 转换为 6,则转换
得到的八进制小数为 0.56。需要特别注意的是,小数最后如果不足三位,一定要在后续补零
以后再进行转换。
3 二进制小数--->>>十六进制
二进制小数转换为十六进制的方法也是“四位一并”,只是转换时从小数的高位开始。
例如二进制小数 0.10111 转换为十六进制小数为,1011 转换为 b,1000 转换为 8,则转换后
得到的十六进制是 0.b8。
同理,如果二进制包含整数和小数部分,则分开进行转换即可。
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------