跳至內容

二進碼十進數

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

二進碼十進數(英語:Binary-CodedDecimal,簡稱BCD,中國大陸稱BCD 碼抑是二-十進位編碼)是一種十進位數字編碼的形式。佇這種編碼下跤,逐个十進位數字用一串單獨的二進位元來儲存佮表示。常見的有四位元表示一个十進位數字,叫做壓縮的 BCD 碼(compressed or packed); 抑是以八位元表示一个十進位數字,叫做未壓縮的 BCD 碼(uncompressed or zoned)。

這種編碼的技術,上捷用伊會計系統的設計內底,因為會計制度不時愛對足長的數字做準確的計算。佮一般的浮點式記數法相對,採用 BCD 碼,既可儲存數值的精確度,閣會使得電腦免除了浮點運算所了的時間。此外,對其他需要懸精確度的計算,BCD 編碼亦足捷用的。

BCD 碼的主要優點是佇機器間式佮人會當讀的格式之間轉換容易,佮十進位數值的懸精度表示。BCD 碼的主要缺點是增加了實現算術運算的電路的複雜度,猶閣有儲存效率較低。

捷用 BCD 編碼方式

對應無仝需求,各人亦開發了無仝的編碼方法,以適應無仝的需求。遮的編碼,大致會當分做 _ 有權碼 _ 和 _ 沒有權碼 _ 兩種:

一 . 有權碼,如:八千四百二十一(上捷用)、 兩千四百二十一、五千四仔二一二 . 沒有權碼,如:餘三碼、格雷碼

八千四百二十一碼

八千四百二十一碼閣號做 BCD 碼,是彼號十進位代碼內底上捷用的一種。佇這種編碼方式當中,每一位二值代碼的「一」攏代表一个固定數值。共每一个「一」所代表的十進位數加起來就會當得著伊所代表的十進位數位。因為代碼中對倒至右看每一位「一」分別代表數字「八」「四」「二」「一」,故得名八千四百二十一碼。其中每一个「一」代表的十進位數稱做這位的權。因為逐位的權攏是固定袂變的,所以八千四百二十一碼是恆權碼。

餘三碼

餘三碼是由八千四百二十一碼增加上十一形成的一種無權碼,因為伊的每一字元編碼比相應八千四百二十一碼偌三,故稱餘三碼。比如講,十進位字元五的餘三碼等於五的八千四百二十一碼一百空一加上十一,準講一千。仝款,餘三碼中嘛有六種狀態零 , 一 , 十 , 一千一百空一 , 一千一百十佮一千一百十一是無允准出現的。 餘三碼嘛一種對九的自補代碼,因為會當予運算講帶來方便。其次,佇咧將兩个餘三碼表示的十進位數相加的時陣,會當正確產生進位訊號,猶毋過著「和」著愛修正。修正的方法是:若有進位,是結果加三;若無進位,則結果減三。 餘三碼佮十進位之間的轉換嘛是照位元進行的,值得注意的是逐位十進位數的編碼攏愛賰三。

二千四百二十一碼

二千四百二十一碼是一種有權碼,權值由懸到低分別為二、四、二、一,特點是大於等於五的四位元二進位數內底上懸的位為一,小於五的上懸的位為零。如五的兩千四百二十一碼表示為一千空一十一爾毋是一百空一。

比較

以下是三種常看著的 BCD 編碼的較。

外部連結

BCD-Code

參考文獻