- robin 的博客
第一章 计算机基础知识 第5节 数制转换
- @ 2025-6-19 14:14:40
第一章 计算机基础知识
第5节 数制转换
一、计算机的数制
- 十进制:每一位可取0~9这十个数码,计数的基数为10,超过9须用多位数来表示。
- 二进制:每一位可取0~1这2个数码,计数的基数为2,超过1须用多位数来表示。
- 八进制:每一位可取0~7这8个数码,计数的基数为8,超过7须用多位数来表示。
- 十六进制:每一位可取0~9,A,B,C,D,E,F这16个数码,计数的基数为16,超过F须用多位数来表示。
- 权:数制中某一位上的1所表示的数值的大小。例如,十进制123中,1的位权是100,2的位权是10,3的位权是1。
各进制转换的关系表

二、各种数制之间的转换
1. K进制转十进制
按权相加法展开成多项式,每项为该位数码与对应权的乘积,求和后得到十进制值。
公式:$ abcd.efg\ (K) = d \times K^0 + c \times K^1 + b \times K^2 + a \times K^3 + e \times K^{-1} + f \times K^{-2} + g \times K^{-3}\ (10) $
例:$1101.01(2) = 1 \times 2^0 + 0 \times 2^1 + 1 \times 2^2 + 1 \times 2^3 + 0 \times 2^{-1} + 1 \times 2^{-2} = 1 + 0 + 4 + 8 + 0 + 0.25 = 13.25(10) $
2. 十进制转K进制
-
整数部分:倒除法,即除K取余直至商为0,倒序排列余数。
例:$$172(10) = 10101100(2)$$

-
小数部分:乘K取整法,即小数部分循环乘K直至为0,顺序取整数部分。
例:$$0.625(10) = 0.101(2)$$0.625×2 = 1.25 ...取出整数1 0.25×2 = 0.5 ...取出整数0 0.5×2 = 1.0 ...取出整数1
3. 二进制转八进制
- 整数部分:从右向左,每3位二进制数转为1位八进制数。
- 小数部分:从左向右,每3位二进制数转为1位八进制数。
例:$$1111010101(2) = 1725(8)$$
例:$$110110.1011(2) = 156.54(8)$$
4. 二进制转十六进制
- 整数部分:从右向左,每4位二进制数转为1位十六进制数。
- 小数部分:从左向右,每4位二进制数转为1位十六进制数。
例:$$111101010101101(2) = 1EAD(16)$$
例:$$111101001.10111(2) = 1E9.B8(16)$$