数制整体来看难度不大,但是需要较多的耐心,其中的很多概念极为复杂。需要进行比较多的运算,在数制转换过程中,要牢记概念以及对应规则。

数制

数字量表示物理量时,仅用一位数码一般不够,因此经常使用多位数码--进位计数制

0~9 → 10~99 → 100~999 → ··· ···

多位数码中每一位的的构成方法以及从低位到高位的的进位规则称为数制。数字电路中常用的计数进制有:十进制、二进制、八进制、十六进制。

常见的进制组成元素:

  • 十进制:0~9
  • 二进制:0、1
  • 十六进制:0~9、A、B、C、D、E、F

任何一种进位计数制中,任何一个数都由整数和小数两部分组成。两种书写形式:位置计数法和多项式表示法。

十进制数

每一位可以有10个数码:0~9;低位和相邻高位之间的关系是:“逢十进一”

二进制数

每一位仅有0和1两个可能的数码,计数基数为2,进位关系“逢二进一”

十六进制数

十六个不同数码:0~9,A,B,C ,D,E,F;进位关系“逢十六进一”

补充

  • 十六进制中的A~F与十进制的对应关系为:A~10,B~11,C~12,D~13,E~14,F~15
  • 字母下脚注16有时也用H(Hexadecimal)代替;

    Snipaste_2021-03-15_19-13-23.png

  • 计算机中常用到的二进制位数有8位、16位、32位,可以分别用2位、4位、8位十六进制数表示;
  • 其他任意进制的分析方法和二进制、十进制、十六进制相同。

数制转换

二进制~十进制转换

按权展开法:将二进制数展开,再将各项的数值按十进制数相加,即得到十进制的值。
Snipaste_2021-03-15_19-15-03.png

十进制~二进制转换

整数部分

对于十进制整数$(N)_{10}$,假设等值的二进制数为:

那么下式一定成立:

Snipaste_2021-03-15_19-17-29.png

规律:将$(N)_{10}$除以2,余数就是$a_0$;

如果上式括号内的部分(商)再除以2,余数即$a_1$;

依此类推,即可求得

由前面的分析出的规律,可得到整数部分的转换方法:将十进制数反复除2求余。

例:

Snipaste_2021-03-15_20-20-44.png

小数部分

对于十进制小数(S)10,假设等值的二进制数为:

那么:

Snipaste_2021-03-15_19-48-29.png
规律:将$(S)_{10}$乘以2,整数进位就是$a_{-1}$
对式$(1-7)$中括号内的部分乘以2,整数进位即$a_{-2}$
依此类推,即可求得$a_{-3} a_{-4}… a_{-m}$

由前面的分析可以得到小数部分的转换方法:将十进制数反复乘2求进位.

例:

Snipaste_2021-03-15_20-22-28.png

二~十六转换

方法:每四位二进制数对应一位十六进制数,由低位到高位排列。不足四位的,整数部分高位补0,小数部分低位补0。

例:$(11010110.0101101)_2$

Snipaste_2021-03-15_20-01-44.png

二~八转换

方法:每三位二进制数对应一位八进制数,由低位到高位排列。不足三位的,整数部分高位补0,小数部分低位补0。

例:$(11010110.01011010)_2$

Snipaste_2021-03-15_20-03-09.png

十六~二 转换

方法:与二-十六转换类似,将十六进制数的每一位用等值的四位二进制数代替。

例:$(7C5.F9)_16$

Snipaste_2021-03-15_20-04-15.png

同理,八~二转换也是如此

十六~十 转换

方法:与二~十转换类似,将十六进制数按权展开,相加即得。

Snipaste_2021-03-15_20-06-26.png

进制相互转换小结

  • 十进制转换成任意进制R的普遍方法:小数部分乘以R取进位,整数部分除以R取余数。(注意方向)
  • 任意进制R转换成十进制的普遍方法:按多项式展开并计算。
  • 二进制和十六(八)进制相互转换的方法:按1位十六(八)进制对应于4位(3位)二进制数的对应关系进行转换。
  • 任意进制M和任意进制N之间的相互转换方法:先将M(N)进制数转换成十进制数,再将十进制数转换成N (M)进制数。