回覆列表
  • 1 # 諸葛不孔明

    二進位制是由1和0兩個數字組成的,它可以表示兩種狀態,即開和關。所有輸入電腦的任何資訊最終都要轉化為二進位制。目前通用的是ASCII碼。最基本的單位為bit。

      BCD碼(Binary-Coded Decimal‎)亦稱二進碼十進數或二-十進位制程式碼。用4位二進位制數來表示1位十進位制數中的0~9這10個數碼。是一種二進位制的數字編碼形式,用二進位制編碼的十進位制程式碼。BCD碼這種編碼形式利用了四個位元來儲存一個十進位制的數碼,使二進位制和十進位制之間的轉換得以快捷的進行。這種編碼技巧最常用於會計系統的設計裡,因為會計制度經常需要對很長的數字串作準確的計算。相對於一般的浮點式記數法,採用BCD碼,既可儲存數值的精確度,又可免去使電腦作浮點運算時所耗費的時間。此外,對於其他需要高精確度的計算,BCD編碼亦很常用。

      BCD碼與十進位制數的轉換關係很直觀,相互轉換也很簡單,將十進位制數75.4轉換為BCD碼:7->0111,5->0101,4->0100所以拼成8421BCD碼的結果是:(0111 0101.0100)BCD;若將BCD碼1000 0101.0101轉換為十進位制數:1000->8,0101->5,0101->5所以結果是:(85.5)D。

      同一個8位二進位制程式碼表示的數,當認為它表示的是二進位制數和認為它表示的是二進位制編碼的十進位制數時,數值是不相同的。 例如:00011000,當把它視為二進位制數時,其值為24;但作為2位BCD碼時, 其值為18。 又例如00011100,如將其視為二進位制數,其值為28,但不能當成BCD碼,因為在8421BCD碼中,它是個非法編碼 。

  • 2 # 控制研究控

    BCD碼最主要的特性就是用4位二進位制數表示一位0-9之間的十進位制數。所以,通俗的來說的話,BCD碼也是二進位制數,BCD碼不過是二進位制數的另外一種解讀方式罷了。

    而二進位制就是很多的1和0的組合,它總是以逢二進一的形式進位組合的。

    還是舉例來說一下:

    二進位制的1111,即2#1111,等於10#的15。

    而BCD#2#1111卻是一個非法資料,因為BCD碼只能表示十進位制的0-9之間的數,這一串2#1111還是等於10#15。因為BCD碼的定義就是用四位二進位制數表示一位0-9之間的十進位制數。如果是BCD#15的話,那麼可以翻譯為2# 0001 0101,這樣十進位制值就為21。

    進一步來說,看一下表格吧:從這個圖片可以看到BCD碼只能表示十進位制數中的0-9, 在表示0-9這10個數的時候,二進位制數和BCD碼數的二進位制資料表示都是一樣的。

    當超出0-9這個10個十進位制數的時候,二進位制碼和BCD碼錶示的數值都轉化為10進位制的話,就不一樣了!

    二進位制碼依然可以以逢二進一的形式去表示更多的十進位制數,而BCD碼如果來表示更多的十進位制數值時,比如BCD#10,那麼展開為二進位制的話,其實是BCD#10=2# 0001 0000,那麼這個值轉化為10進位制就是32,因為BCD碼是以4個二進位制數為一組,把它理解成十進位制數中的0-9的。

  • 中秋節和大豐收的關聯?
  • Steam上國產遊戲在外國的銷量/口碑如何?