进制转换(知乎回答总结)
1 . 常用进制:二进制、八进制、十进制、十六进制(1 2 3 4 5 6 7 8 9 A B C D E F)
2 . 二、八、十六进制转为十进制通用方法:按权相加(权即位权)
3 . 按权相加方法(转十进制):
设当前数字是 n 进制,
整数部分:从右往左看,第 i 位的位权为:ni-1 (例:8进制数1579.254,7的位权为82-1=8)
小数部分:从左往右看,第 j 位的位权为:n-j (例:8进制数1579.254,5的位权为8-2 =1/16)
4 . 将八进制数字 53627 转换成十进制:
53627 = 5×84 + 3×83 + 6×82 + 2×81 + 7×80 = 22423(十进制)
将十六进制数字 9FA8C 转换成十进制:
9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653964(十进制)
将十六进制数字 9FA8C 转换成十进制:
11010 = 1×24 + 1×23 + 0×22 + 1×21 + 0×20 = 26(十进制)
将八进制数字 423.5176 转换成十进制:
423.5176 = 4×82 + 2×81 + 3×80 + 5×8-1 + 1×8-2 + 7×8-3 + 6×8-4 = 275.65576171875(十进制)
将二进制数字 1010.1101 转换成十进制:
1010.1101 = 1×23 + 0×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4 = 10.8125(十进制)
5 . 将十进制转为二、八、十六进制
十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法:
将十进制数字 36926 转换成八进制的过程:(结果为 110076)
十进制小数转换成 N 进制小数采用“乘 N 取整,顺序排列”法:
十进制小数 0.930908203125 转换成八进制小数:(结果为 0.7345)
如果一个数字既包含了整数部分又包含了小数部分,那么将整数部分和小数部分开,分别按照上面的方法完成转换,然后再合并在一起即可。
十进制小数转换成其他进制小数时,结果有可能是一个无限位的小数,例:
- 十进制 0.51 对应的二进制为 0.100000101000111101011100001010001111010111...,是一个循环小数;
- 十进制 0.72 对应的二进制为 0.1011100001010001111010111000010100011110...,是一个循环小数;
- 十进制 0.625 对应的二进制为 0.101,是一个有限小数。
6 . 二进制和八进制、十六进制的转换
①可采用上述方法
②较简便方法:
(1)二进制整数和八进制整数之间的转换
二进制整数转换为八进制整数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从低位向高位依次进行,高位不足三位用零补齐。
二进制整数 1110111100 转换为八进制:(结果为1674)
八进制整数转换为二进制整数时,思路是相反的,每一位八进制数字转换为三位二进制数字,运算的顺序也是从低位向高位依次进行。
将八进制整数 2743 转换为二进制:(结果为 10111100011)
(2)二进制整数和十六进制整数之间的转换
二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。
将二进制整数 10 1101 0101 1100 转换为十六进制:(结果为2D5C)
十六进制整数转换为二进制整数时,思路是相反的,每一位十六进制数字转换为四位二进制数字,运算的顺序也是从低位向高位依次进行。
将十六进制整数 A5D6 转换为二进制:(结果为1010 0101 1101 0110)
End。