二進位制的十進位制編碼是碼

2021-03-04 05:57:27 字數 2873 閱讀 1322

1樓:負家子弟

二進位制的十進位制碼,稱為bcd碼,它是一種以二進位制表示的十進位制數碼。

一、8421bcd碼

二進位制編碼的十進位制數,簡稱bcd碼(binarycoded decimal). 這種方法是用4位二進位制碼的組合代表十進位制數的0,1,2,3,4,5,6 ,7,8,9 十個數符。4位二進位制數碼有16種組合,原則上可任選其中的10種作為**,分別代表十進位制中的0,1,2,3,4,5,6,7,8,9 這十個數符。

最常用的bcd碼稱為8421bcd碼,8.4.2.

1 分別是4位二進數的位取值。點選此處將給出十進位制數和8421bcd編碼的對應關係表。

1、bcd碼與十進位制數的轉換

bcd碼與十進位制數的轉換.關係直觀,相互轉換也很簡單,將十進位制數75.4轉換為bcd碼如:

75.4=(0111 (0101.0100)bcd 若將bcd碼1000 0101.0101轉換為十進位制數如: (1000 0101.0101)bcd=85.5

注意:同一個8位二進位制**表示的數,當認為它表示的是二進位制數和認為它表示的是二進位制編碼的十進位制數時,數值是不相同的。

例如:00011000,當把它視為二進位制數時,其值為24;但作為2位bcd碼時, 其值為18。

又例如00011100,如將其視為二進位制數,其值為28,但不能當成bcd碼,因為在8421bcd碼中,它是個非法編碼 .

2、bcd碼的格式

計算機中的bcd碼,經常使用的有兩種格式,即分離bcd碼,組合bcd碼。

所謂分離bcd碼,即用一個位元組的低四位編碼表示十進位制數的一位,例如數82的存放格式為:

_ _ _1 0 0 0 _ _ _ _0 0 1 0 其中_表示無關值。

組合bcd碼,是將兩位十進位制數,存放在一個位元組中,例82的存放格式是1000 0010

3、bcd碼的加減運算

由於編碼是將每個十進位制數用一組4位二進位制數來表示,因此,若將這種bcd碼直接交計算機去運算,由於

計算機總是把數當作二進位制數來運算,所以結果可能會出錯。例:用bcd碼求38+49。

解決的辦法是對二進位制加法運算的結果採用"加6修正,這種修正稱為bcd調整。即將二進位制加法運算的結果修正為bcd碼加法運算的結果,兩個兩位bcd數相加時,對二進位制加法運算結果採用修正規則進行修正。修正規則:

(1)如果任何兩個對應位bcd數相加的結果向高一位無進位,若得到的結果小於或等於9,則該不需修正;若得到的結果大於9且小於16時,該位進行加6修正。

(2)如果任何兩個對應位bcd數相加的結果向高一位有進位時(即結果大於或等於16),該位進行加6修正.

(3)低位修正結果使高位大於9時,高位進行加6修正。

下面通過例題驗證上述規則的正確性。

用bcd碼求35+21 bcd碼求25+37 用bcd碼求38+49 用bcd碼求42+95

用bcd碼求91+83 用bcd碼求94+7 用bcd碼求76+45

兩個組合bcd碼進行減法運算時,當低位向高位有借位時,由於"借一作十六"與"借一作十"的差別,將比正確的結果多6,所以有借位時,可採用" 減6修正法"來修正.兩個bcd碼進行加減時,先按二進位制加減指令進行運算,再對結果用bcd調整指令進行調整,就可得到正確的十進位制運算結果。實際上,計算機中既有組合bcd數的調整指令,也有分離bcd數的調整指令。

另外,bcd碼的加減運算,也可以在運算前由程式先變換成二進位制數,然後由計算機對二進位制數運算處理,運算以後再將二進位制數結果由程式轉換為bcd碼。

bcd碼和二進位制碼有什麼區別呀

2樓:吧友

兩者的區別為:

1、當用來表示十進位制數字0——9時,用二進位制**與8421bcd**完全相同。而當表示的十進位制數字大於9時,用二進位制**與8421bcd**表達就完全不同了。

2、用二進位制表示就是二進位制數字安權重 求和,其值為十進位制數字;用8421bcd**則是每一位十進位制數字都用4位8421bcd**表示。如十進位制數字15,轉化為二進位制為1111;用8421bcd碼錶示為0001 0101。

二進位制編碼的優點:

(1)技術實現簡單,計算機是由邏輯電路組成,邏輯電路通常只有兩個狀態,開關的接通與斷開,這兩種狀態正好可以用「1」和「0」表示。

(2)簡化運算規則:兩個二進位制數和、積運算組合各有三種,運算規則簡單,有利於簡化計算機內部結構,提高運算速度。

(3)適合邏輯運算:邏輯代數是邏輯運算的理論依據,二進位制只有兩個數碼,正好與邏輯代數中的「真」和「假」相吻合。

(4)易於進行轉換,二進位制與十進位制數易於互相轉換。

(5)用二進位制表示資料具有抗干擾能力強,可靠性高等優點。因為每位資料只有高低兩個狀態,當受到一定程度的干擾時,仍能可靠地分辨出它是高還是低。

3樓:匿名使用者

問出這個問題我覺得你懂什麼是二進位制碼,bcd碼就是用4位二進位制數來表示1位十進位制數

4樓:匿名使用者

bcd是4位二進位制碼來表示十進位制數的(0-9;4位二進位制碼錶示10-15時不是bcd碼只能說是4位二進位制碼) 所以說bcd碼是二進位制碼錶示十進位制數的特殊情形。小於或大於4位二進位制碼錶示的十進位制數只能說是用二進位制碼錶示的而不能說是bcd碼錶示。

5樓:熱雪丨騷年

bcd碼(binary-coded decimal‎)亦稱二進碼十進數或二-十進位制**。用4位二進位制數來表示1位十進位制數中的0~9這10個數碼。是一種二進位制的數字編碼形式,用二進位制編碼的十進位制**。

bcd碼這種編碼形式利用了四個位元來儲存一個十進位制的數碼,使二進位制和十進位制之間的轉換得以快捷的進行。這種編碼技巧最常用於會計系統的設計裡,因為會計制度經常需要對很長的數字串作準確的計算。相對於一般的浮點式記數法,採用bcd碼,既可儲存數值的精確度,又可免卻使電腦作浮點運算時所耗費的時間。

此外,對於其他需要高精確度的計算,bcd編碼亦很常用。

關於二進位制轉換十進位制的問題,二進位制數如何轉換成十進位制數?

你看錯啦,現在先來指定格式 a b a是底數,b是指數,a b就是a的b次方的意思。a b 表示a是b進位制數。那麼你看到的題目其實是 11011 2 1 2 4 1 2 3 0 2 2 1 2 1 1 2 0 16 8 0 2 1 27另外舉個十進位制例子 956 9 10 2 5 10 1 6 ...

十進位制正數的二進位制形式和十進位制負數的二進位制形式之間的轉化

計算機內,使用補碼錶示數字的 把正12每位取反之後,加1就是 12了 補充 給你詳細說下吧 計算機有三種碼,原碼,反碼和補碼。馮結構的計算機內,資料儲存用的是補碼,因為只用加法就可以計算減法了.看你的問題 0 0000000 00000000 00000000 00001100 1 12每位取反後得...

十進位制100 75轉換成二進位制,十進位制100轉二進位制是多少

計算器是不會計算小數的 十進位制100.75轉換成二進位制 先拿整數100除以2。100 2 50餘0,50 2 25餘0,25 2 12餘1,12 2 6餘0,6 2 3餘0,3 2 1,餘1,從後往前看就是1100100 小數75轉換是用乘的,0.75 2 1.50取整數1。用0.50 2 1....