#281. 第四节 数制转换
第四节 数制转换
一、数制的概念
- 数制:数制是一种计数方法,是用数字符号和一定的规则表示数。比如用十个手指头计数就是一种数制。就是任何数制都有两个基本要素:基数和位权。
- 基数:数制中所使用数的个数,几进制就有几个基数。
- 位权:数制中某一位上的1表示的数值的大小。例如:十进制321,3的位权是100,2的位权是10,1的位权是1。
二、常见的数制
- 十进制(decimalism):每一位可取0-9这10个数码,计数的基数位10,超过9要用多位数来表示。

手指十进制图
- 二进制(binary):每一位可取0-1这2个数码,计数的基数位2,超过1要用多位数来表示。
- 八进制(octal):每一位可取0-7这8个数码,计数的基数位8,超过7要用多位数来表示。
- 十六进制(hexadecimal):每一位可取0-9,A,B,C,D,E,F这16个数码,计数的基数位16,超过F要用多位数来表示。
三、数制之间的转换

1、K进制转十进制
按权相加法展开成一个多项式,每项是该位的数码与相应的权之积,把多项式按十进制数的规则进行求和,所得结果即是该数的十进制。

例: [1101.01(2) = 12^3 + 02^2 + 12^1 + 12^0 + 02^{-1} + 12^{-2} = 13.25]
2、十进制转K进制
整数部分:十进制整数转换为K进制整数的方法是倒除法,即除K直至商为0,倒取余数。
例:[172(10) = 10101100(2)]

小数部分:十进制小数转换为K进制小数的方法是取整法,取小数部分循环乘以K直至为0,顺序取整数部分。
例:[0.625(10) = 0.101(2)]

3、二进制转八进制
整数部分:从右向左,二进制3位一组转成八进制。
例:[1 111 010 101 101(2) = 17255(8)]
小数部分:从左向右,二进制3位一组转成八进制。
例:[1 101 110.1011(2) = 156.54(8)]
4、二进制转十六进制
整数部分:从右向左,二进制4位一组转成十六进制。
例:[1 1110 1010 1101(2) = 1EAD(16)]
小数部分:从左向右,二进制4位一组转成十六进制。
例:[11110 1001.10111(2) = 1E9.B8(16)]
5、N进制转M进制
N进制先转成十进制,再转成M进制。

四、习题
- 八进制 32.1 对应的十进制数是()。
{{ select(1) }}
- 24.125
- 24.250
- 26.125
- 26.250
- 一个自然数在十进制下有 n 位,则它在二进制下的位数与() 最接近。
{{ select(2) }}
- 5n
- 二进制数 111.101 所对应的十进制数是()。
{{ select(3) }}
- 5.625
- 5.5
- 6.125
- 7.625
- 设 X、Y、Z 分别代表三进制下的一位数字,若等式 XY+ZX=XYX 在三进制下成立,那么同样在三进制下,等式 XY*ZX=()也成立。
{{ select(4) }}
- YXZ
- ZXY
- XYZ
- XZY
- 与十进制数 28.5625 相等的四进制数是()。
{{ select(5) }}
- 123.21
- 131.22
- 130.22
- 130.21
- 的结果是()。
{{ select(6) }}
- 如果在某个进制下等式 7* 7=41 成立,那么在该进制下等式 12 * 12=() 也成立。
{{ select(7) }}
- 100
- 144
- 164
- 196
- 下列四个不同进制的数中,与其他三项数值上不相等的是()。
{{ select(8) }}
- 二进制 00101100 和 01010101 异或的结果是()。
{{ select(9) }}
- 00101000
- 01111001
- 01000100
- 00111000
- 2 个 10 进制数 1111 和 1010 的异或运算结果的 10 进制表示是()。
{{ select(10) }}
- 101
- 3
- 1957
- 5
- 下列不同数制表示的数中,最大的一个数是()。
{{ select(11) }}
- 二进制数 101.11 对应的十进制数是()。
{{ select(12) }}
- 6.5
- 5.5
- 5.75
- 5.25
- 二进制数 1011 转换成十进制数是()。
{{ select(13) }}
- 10
- 13
- 11
- 12
- 三进制1101(3) 转换成十一进制是()。
{{ select(14) }}
- 32(11)
- 33(11)
- 34(11)
- 35(11)
- 某个进制下 6+5 的结果为 14,那么该进制下 6*5 的结果为()。
{{ select(15) }}
- 42
- 53
- 64
- 37