天天看點

8421BCD碼 5421BCD碼 餘三碼 格雷碼 餘三循環碼之間的關系,轉換以及簡易方法8421BCD碼 5421BCD碼 餘三碼 格雷碼 餘三循環碼之間的關系,轉換以及簡易方法

8421BCD碼 5421BCD碼 餘三碼 格雷碼 餘三循環碼之間的關系,轉換以及簡易方法

1. 有權碼和無權碼的包括

8421BCD碼 5421BCD碼 餘三碼 格雷碼 餘三循環碼之間的關系,轉換以及簡易方法8421BCD碼 5421BCD碼 餘三碼 格雷碼 餘三循環碼之間的關系,轉換以及簡易方法

2.各種碼值的介紹

  1. 8421碼的簡介

    8421碼又稱為BCD碼,是十進代碼中最常用的一種。在這種編碼方式中,每一位二值代碼的“1”都代表一個固定數值。将每位“1”所代表的 二進制數加起來就可以得到它所代表的十進制數字。因為代碼中從左至右看每一位“1”分别代表數字“8”“4”“2”“1”,故得名8421碼。其中每一位 “1”代表的十進制數稱為這一位的權。因為每位的權都是固定不變的,是以8421碼是恒權碼。

    百度百科

  2. 類比8421BCD碼 可以得到 5421碼 2421碼

    由此可知 8421碼 5241碼和2421碼 都是 十進代碼 隻是最右面位的權值不同
  3. 餘三碼

    ** 餘三碼(餘3碼)是由8421BCD碼加上0011形成的一種無權碼 **,由于它的每個字元編碼比相應的8421碼多3,故稱為餘三碼。BCD碼的一種。餘3碼的特點:當兩個十進制數的和是10時,相應的二進制編碼正好是16,于是可自動産生進位信号,而不需修正。0和9, 1和8,……5和4的餘3碼互為反碼,這在求對于10的補碼很友善。

    餘三碼是一種對9的自補代碼,因而可給運算帶來友善。其次,在将兩個餘三碼表示的十進制數相加時,能正确産生進位信号,但對“和”必須修正。修正的方法是:如果有進位,則結果加3;如果無進位,則結果減3。

    百度百科

  4. 格雷碼

    在一組數的編碼中,若任意兩個相鄰的代碼隻有一位二進制數不同,則稱這種編碼為格雷碼(Gray Code),另外由于最大數與最小數之間也僅一位數不同,即“首尾相連”,是以又稱循環碼或反射碼。

    格雷碼的介紹

    格雷碼的特點
    1. 可靠性編碼

      因為,雖然自然二進制碼可以直接由數/模轉換器轉換成模拟信号,但在某些情況,例如從十進制的3轉換為4時二進制碼的每一位都要變,能使數字電路産生很大的尖峰電流脈沖。而格雷碼則沒有這一缺點,它在相鄰位間轉換時,隻有一位産生變化。它大大地減少了由一個狀态到下一個狀态時邏輯的混淆。由于這種編碼相鄰的兩個碼組之間隻有一位不同,因而在用于方向的轉角位移量-數字量的轉換中,當方向的轉角位移量發生微小變化(而可能引起數字量發生變化時,格雷碼僅改變一位,這樣與其它編碼同時改變兩位或多位的情況相比更為可靠,即可減少出錯的可能性。

    2. 絕對編碼方式

      典型格雷碼是一種具有反射特性和循環特性的單步自補碼,它的循環、單步特性消除了随機取數時出現重大誤差的可能,它的反射、自補特性使得求反非常友善。

    3. 變權碼

      每一位碼沒有固定的大小,很難直接進行比較大小和算術運算,也不能直接轉換成液位信号,要經過一次碼變換,變成自然二進制碼,再由上位機讀取

    4. 絕對編碼方式的準權碼

      典型格雷碼是一種采用絕對編碼方式的準權碼,其權的絕對值為2^i-1(設最低位i=1)

    5. 格雷碼的十進制數奇偶性與其碼字中1的個數的奇偶性相同
  5. 餘三循環碼

    餘3循環碼是變權碼,每一位的1并不代表固定的數值,它具有格雷碼的優點,即兩個相鄰代碼之間僅有一位的狀态不同。 .

3幾種碼制之間的轉換關系

十進制數 二進制 8421碼 5421碼 2421碼 餘三碼 餘三循環碼
0000 0000 00000 0000 0011 0010
1 0001 0001 0001 0001 0100 0110
2 0010 0010 0010 0010 0101 0111
3 0011 0011 0011 0011 0110 0101
4 0100 0100 0100 0100 0111 0100
5 0101 0101 1000 1011 1000 1100
6 0110 0110 1001 1100 1001 1101
7 0111 0111 1010 1101 1010 1111
8 1000 1000 1011 1110 1011 1110
9 1001 1001 1100 1111 1100 1010

本人建議:碼制之間的轉換方法雖然有 但是不介意用 因為記住才是王道 但如果那個忘記了 可以用此方法進行演推

  1. 4位二進制碼 和 8421碼完全相同 是以可以直接轉換

    注意

    BCD碼 是四位 不可随意增删 0
               
  2. 8421碼 轉換成 5421碼 (2421碼)

    先轉換十進制碼值 然後再轉換成 5421碼(2421碼)

    例如: (0110 1000 1001)8241BCD = (6 8 9)D =(1001 1011 1100)5421BCD = (1100 1110 1111)2421BCD碼

    注意哦

    如果2421碼 如果碼值a>4 需要先權值追高位 依次進行轉化就行了
               

    例如 a=5

    5-2=3 ······1

    3-4<0 ······0

    3-2=1 ······1

    1-1=0 ······1

    故:(5)D=(1011)2421BCD

  3. 餘三碼轉換
    1. 8421碼轉換成餘三碼

      (abcd)8421碼 + (0011) = (wxyz)餘三碼

    2. (h)D轉化成餘三碼

      (h+3)D —> 4位二進制數=餘三碼

      如果不足四位在最左面補0

    3. 5421碼 轉換成餘三碼.
      1. 從左到右 如果左面第一位不是1

        (0bcd)5421碼 + (0011) = (wxyz)餘三碼

      2. 從左到右 如果左面第一位是1

        5421碼 和 餘三碼相同

    4. 格雷碼
      8421BCD碼 5421BCD碼 餘三碼 格雷碼 餘三循環碼之間的關系,轉換以及簡易方法8421BCD碼 5421BCD碼 餘三碼 格雷碼 餘三循環碼之間的關系,轉換以及簡易方法