数制

仅用来表示一个数。对于同一个数,在不同数制下的表现形式不同,但数学含义相同

二进制

  • 二进制例:101、11101...

十进制

  • 十进制例:5、29...
  • 但实际上,不可能在电路中直接存放"5",电路中只有1和0,因此我们用10000直接表示十进制5

其他进制

  • 与上述相同

码制

  1. 在规定的码制下,我们可以进行同一个数内==不同进制之间的转换==

  2. 对于10进制"29"来说,其实是可以直接转为2进制的(11101),但这会造成位数的不确定,我们可以将它转换为==固定位数的若干组2进制==,其他进制转换同理

  3. 以下码制均讨论:将10进制数转换为==若干组4位2进制数==

8421BCD码(有权)

  • 若把10进制"29"(即电路中的1000...000,一共29位)转换到2进制:

  • 29拆为2和9

  • 2在8421BCD中为0010,9在8421BCD中为1001
  • 因此10进制"29"就是二进制的0010 1001

  • 8421码的修正:

  • 原因:用8421码来表示十进制数时,只用了其中0000~1001(对应十进制数0~9)的十个编码,而1010~1111被看作是冗余码(对应十进制数10~15)。当两个用8421码表示的十进制数相加时,如果和落在冗余码范围内,则满十而未进一,故需进行和的修正。

  • 也就是说,理论是满10进1,但是映射到4位二进制数是满16进1的
  • 修正:当转换后,如果存在一组或多组冗余码,出现映射错误,需要+6,即+0110来修正这个误差

  • 5421、2421BCD码类似,下略。

[典型]格雷码(有权)

余三码(无权)