0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

二進制編碼的十進制表示轉(zhuǎn)換解碼器

模擬對話 ? 來源:陳年麗 ? 2019-06-24 09:31 ? 次閱讀

Binary Coded Decimal,或BCD,是將十進制數(shù)轉(zhuǎn)換為二進制數(shù)的另一個過程

正如我們在教程的二進制數(shù)部分所看到的,使用了許多不同的二進制代碼在數(shù)字和電子電路中,每個都有自己的特定用途。

由于我們自然生活在十進制(基數(shù)為10)的世界中,我們需要一些方法將這些十進制數(shù)轉(zhuǎn)換為二進制數(shù)(base-2)計算機和數(shù)字電子設(shè)備理解的環(huán)境,以及二進制編碼的十進制代碼允許我們這樣做。

我們之前已經(jīng)看到,n位二進制代碼是一組“n”位,假定為 2 n 1和0的不同組合。二進制編碼十進制系統(tǒng)的優(yōu)點是每個十進制數(shù)字由一組4個二進制數(shù)字或位表示,其方式與十六進制大致相同。因此,對于10位十進制數(shù)字(0到9),我們需要一個4位二進制代碼。

但不要混淆,二進制編碼的十進制不一樣十六進制。而4位十六進制數(shù)有效至 F 16 表示二進制 1111 2 ,(十進制15) ,二進制編碼的十進制數(shù)停在 9 二進制 1001 2 。這意味著雖然可以使用四個二進制數(shù)字表示16個數(shù)字( 2 4 ),但在BCD編號系統(tǒng)中,六個二進制代碼組合: 1010 (十進制10), 1011 (十進制11), 1100 (十進制12), 1101 (十進制13), 1110 (十進制14)和 1111 (十進制15)被歸類為禁號,不能使用。

二進制編碼小數(shù)的主要優(yōu)點是它允許在decimal(base-10)和binary(base-2)表單之間輕松轉(zhuǎn)換。但是,缺點是BCD代碼是浪費的,因為不使用 1010 (十進制10)和 1111 (十進制15)之間的狀態(tài)。然而,二進制編碼的十進制有許多重要的應(yīng)用,特別是使用數(shù)字顯示。

在BCD編號系統(tǒng)中,十進制數(shù)被分成四位,用于數(shù)字中的每個十進制數(shù)字。每個十進制數(shù)字由其加權(quán)二進制值表示,執(zhí)行數(shù)字的直接轉(zhuǎn)換。因此,一個4位組表示每個顯示的十進制數(shù)字,從 0000 表示零到 1001 表示九。

因此,例如,十進制的 357 10 (三百五十七)將以二進制編碼的十進制表示為:

357 10 = 0011 0101 0111 (BCD)

然后我們可以看到BCD使用加權(quán)編碼,因為每個4位組的二進制位表示最終值的給定權(quán)重。換句話說,BCD是加權(quán)代碼,二進制編碼十進制代碼中使用的權(quán)重是 8 , 4 , 2 , 1 ,通常稱為8421代碼,因為它形成相關(guān)十進制數(shù)字的4位二進制表示。

十進制數(shù)字的二進制編碼十進制表示

h3>

Binary Power 2 3 2 2 2 1 2 0
二進制重量: 8 4 2 1

左邊每個十進制數(shù)的十進制重量增加10倍。在BCD數(shù)字系統(tǒng)中,每個數(shù)字的二進制權(quán)重增加 2 如圖所示。然后第一個數(shù)字的權(quán)重為 1 ( 2 0 ),第二個數(shù)字的權(quán)重為 2 ( 2 1 ),第三個是 4 的重量( 2 2 ) ,第四個權(quán)重 8 ( 2 3 )。

然后是十進制(denary)數(shù)字與加權(quán)二進制編碼的十進制數(shù)字如下所示。

二進制編碼十進制的真值表

然后我們可以看到8421 BCD代碼只不過是每個二進制數(shù)字的權(quán)重,每個十進制(denary)數(shù)字表示為其四位純二進制數(shù)。

十進制到BCD轉(zhuǎn)換

正如我們上面所看到的,十進制到二進制編碼十進制的轉(zhuǎn)換非常類似于十六進制到二進制的轉(zhuǎn)換。首先,將十進制數(shù)字分成加權(quán)數(shù)字,然后記下表示每個十進制數(shù)字的等效4位8421 BCD代碼,如圖所示。

二進制編碼十進制示例No1

使用在上表中,將以下十進制(denary)數(shù)字轉(zhuǎn)換為:85 10 ,572 10 和8579 10 到它們的8421 BCD等價物中。

85 10 = 1000 0101 (BCD)

572 10 = 0101 0111 0010 (BCD)

8579 10 = 1000 0101 0111 1001 (BCD)

請注意生成的二進制數(shù)后轉(zhuǎn)換將是十進制數(shù)字的真正二進制轉(zhuǎn)換。這是因為二進制代碼轉(zhuǎn)換為真正的二進制計數(shù)。

BCD到十進制轉(zhuǎn)換

從二進制編碼的十進制到十進制的轉(zhuǎn)換與上面的完全相反。只需將二進制數(shù)分成四位數(shù)組,從最低有效位開始,然后寫入每個4位組所代表的十進制數(shù)。如果需要生成完整的4位分組,最后添加額外的零。例如, 110101 2 將變?yōu)椋?0011 0101 2 或 35 10 十進制。

二進制編碼的十進制示例No2

轉(zhuǎn)換以下二進制數(shù):1001 2 ,1010 2 ,1000111 2 和10100111000.101 2 到它們的十進制等值中。

1001 2 = 1001 BCD = 9 10

1010 2 = 這會產(chǎn)生錯誤,因為它是十進制 10 10 且不是有效的BCD編號

1000111 2 = 0100 0111 BCD = 47 10

10100111000.101 2 = 0101 0011 0001.1010 BCD = 538.625 10

BCD到十進制或十進制到BCD的轉(zhuǎn)換是一個相對簡單的任務(wù),但我們需要記住BCD數(shù)是十進制數(shù)而不是二進制數(shù)數(shù)字,即使它們是用比特表示的。十進制數(shù)的BCD表示很重要,因為大多數(shù)人使用的基于微處理器的系統(tǒng)需要在十進制系統(tǒng)中。

然而,雖然BCD易于編碼和解碼,但它不是存儲數(shù)字的有效方式。在十進制數(shù)的標(biāo)準8421 BCD編碼中,表示給定十進制數(shù)所需的各個數(shù)據(jù)位的數(shù)量將始終大于等效二進制編碼所需的位數(shù)。

例如,二進制從0到999的三位十進制數(shù)僅需要10位( 1111100111 2 ),而在二進制編碼的十進制中,相同的數(shù)字至少需要12 -bits( 0011 1110 0111 BCD )用于相同的表示。

此外,使用二進制編碼的十進制數(shù)執(zhí)行算術(shù)任務(wù)可能有點尷尬每個數(shù)字不能超過9.在BCD中添加兩個十進制數(shù)字將產(chǎn)生一個可能的進位位1,需要將其添加到下一組4位。

如果二進制和添加的進位位等于或小于9(1001),相應(yīng)的BCD數(shù)字是正確的。但是當(dāng)二進制和大于9時,結(jié)果是無效的BCD數(shù)字。因此,最好將BCD數(shù)轉(zhuǎn)換為純二進制數(shù),執(zhí)行所需的加法,然后在顯示結(jié)果之前將其轉(zhuǎn)換回BCD。

然而,在微電子和計算機中使用BCD編碼系統(tǒng)系統(tǒng)在二進制編碼的十進制數(shù)據(jù)打算顯示在一個或多個7段LED或LCD顯示器上的情況下特別有用,并且有許多流行的集成電路可用于提供BCD輸出或輸出。

一個常見的IC是74LS90異步計數(shù)器/分頻器,它包含獨立的2分頻和5分頻計數(shù)器,可以一起使用以產(chǎn)生具有BCD輸出的10分頻計數(shù)器。另一個是74LS390,它是基本74LS90的雙版本,也可以配置為產(chǎn)生BCD輸出。

但最常用的BCD編碼IC是74LS47和74LS48 BCD到7-段解碼器/驅(qū)動器,它轉(zhuǎn)換計數(shù)器的4位BCD碼等,并將其轉(zhuǎn)換為所需的顯示代碼,以驅(qū)動7段LED顯示器的各個段。雖然兩個IC功能相同,但74LS47具有用于驅(qū)動共陽極顯示器的低電平有效輸出,而74LS48具有用于驅(qū)動共陰極顯示器的高電平有效輸出。

二進制編碼十進制解碼器IC

二進制編碼的十進制摘要

我們在這里看到二進制編碼的十進制或BCD只是十進制數(shù)字的4位二進制代碼表示,每個十進制數(shù)字在整數(shù)和小數(shù)部分中替換為二進制等效。 BCD代碼使用4位來表示0到9的10位十進制數(shù)字。

因此,例如,如果我們想要顯示0到9(一位數(shù))范圍內(nèi)的十進制數(shù)字,我們會需要4個數(shù)據(jù)位(半字節(jié)),0到99范圍內(nèi)的十進制數(shù),(兩位數(shù))我們需要8位(一個字節(jié)),0到999范圍內(nèi)的十進制數(shù),(三位數(shù)) )我們需要12位,依此類推。使用單字節(jié)(8位)存儲或顯示兩個BCD數(shù)字,允許字節(jié)保存00-99范圍內(nèi)的BCD編號,稱為壓縮BCD 。

標(biāo)準二進制編碼十進制代碼通常稱為加權(quán)8421 BCD代碼,其中8,4,2和1表示從最高有效位(MSB)開始并向最低有效位開始的不同位的權(quán)重位(LSB)。 BCD碼的各個位置的權(quán)重為: 2 3 = 8 , 2 2 = 4 , 2 1 = 2 , 2 0 = 1 。

主要二進制編碼十進制系統(tǒng)的優(yōu)點在于,與純二進制系統(tǒng)相比,它是一種快速有效的系統(tǒng),可將十進制數(shù)轉(zhuǎn)換為二進制數(shù)。但是BCD代碼是浪費的,因為許多4位狀態(tài)(10到16)沒有使用,但十進制顯示有重要的應(yīng)用。

十進制數(shù) BCD 8421代碼
0 00000000
1 00000001
2 00000010
3 00000011
4 00000100
5 00000101
6 00000110
7 00000111
8 00001000
9 00001001
10(1 + 0) 00010000
11(1 + 1) 00010001
12(1 + 2) 00010010
... ...
20(2 + 0) 00100000
21(2 + 1) 00100001
22(2 + 2) 00100010
等,繼續(xù)以四人為一組

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 解碼器
    +關(guān)注

    關(guān)注

    9

    文章

    1159

    瀏覽量

    41366
  • 真值表
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    15313
  • 二進制數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7803
收藏 1人收藏

    評論

    相關(guān)推薦

    bcd與十進制之間的關(guān)系

    4位二進制數(shù)來表示1位十進制數(shù)中的0~9這10個數(shù)碼,是一種二進制的數(shù)字編碼形式。 表示方法 :
    的頭像 發(fā)表于 12-20 17:15 ?1849次閱讀

    bcd編碼的應(yīng)用 bcd與二進制的區(qū)別

    直接對應(yīng)于我們?nèi)粘J褂玫?b class='flag-5'>十進制數(shù)字系統(tǒng)。以下是BCD編碼的一些應(yīng)用和它與二進制編碼的區(qū)別: BCD編碼的應(yīng)用 數(shù)字顯示設(shè)備 :在數(shù)字鐘表、計
    的頭像 發(fā)表于 12-20 17:11 ?2144次閱讀

    在線二進制編碼器:數(shù)據(jù)轉(zhuǎn)換的快捷通道

    。為此,我們推出了在線二進制編碼器,一個便捷、高效的數(shù)據(jù)轉(zhuǎn)換工具。 在線二進制編碼器以其簡潔直觀的界面和強大的功能,為用戶提供了數(shù)據(jù)
    的頭像 發(fā)表于 11-15 09:01 ?1392次閱讀

    base64字符串轉(zhuǎn)換二進制文件

    一些編程知識。以下是將Base64字符串轉(zhuǎn)換二進制文件的一般步驟,以及一個簡單的Python示例代碼。 步驟: 獲取Base64字符串 :首先,你需要有一個Base64編碼的字符串。 解碼
    的頭像 發(fā)表于 11-10 10:55 ?2356次閱讀

    二進制編碼器的精度與分辨率

    編碼器是一種將模擬信號(如電壓、溫度等)轉(zhuǎn)換二進制代碼的設(shè)備。它通常包含一個模數(shù)轉(zhuǎn)換器(ADC),該轉(zhuǎn)換器通過比較輸入信號與一系列參考電壓
    的頭像 發(fā)表于 11-06 09:56 ?829次閱讀

    二進制編碼器與絕對編碼器的區(qū)別

    編碼器是工業(yè)自動化和機器人技術(shù)中不可或缺的組件,用于將機械位置或運動轉(zhuǎn)換為電信號。二進制編碼器和絕對編碼器是兩種常見的
    的頭像 發(fā)表于 11-06 09:54 ?928次閱讀

    二進制編碼器在自動化領(lǐng)域的作用

    二進制編碼器是一種將二進制信號轉(zhuǎn)換為數(shù)字信號的電子設(shè)備,廣泛應(yīng)用于自動化領(lǐng)域。 一、二進制編碼器
    的頭像 發(fā)表于 11-06 09:53 ?667次閱讀

    二進制編碼器在機器人中的應(yīng)用

    隨著科技的不斷進步,機器人技術(shù)已經(jīng)成為現(xiàn)代工業(yè)、服務(wù)業(yè)乃至家庭生活中不可或缺的一部分。機器人的智能化程度不斷提高,這在很大程度上依賴于其傳感系統(tǒng)。二進制編碼器作為一種傳感,能夠?qū)⑽?/div>
    的頭像 發(fā)表于 11-06 09:48 ?748次閱讀

    二進制編碼器的種類及特點

    二進制編碼器是一種電子電路,用于將二進制信號轉(zhuǎn)換為其他格式,如十進制、格雷碼等。以下是一些常見的二進制
    的頭像 發(fā)表于 11-06 09:47 ?958次閱讀

    二進制編碼器應(yīng)用場景 二進制編碼器與模擬編碼器比較

    編碼器是將信息從一種形式或格式轉(zhuǎn)換為另一種形式的設(shè)備。在數(shù)字和模擬系統(tǒng)中,編碼器扮演著至關(guān)重要的角色。二進制編碼器和模擬
    的頭像 發(fā)表于 11-06 09:45 ?861次閱讀

    二進制編碼器工作原理 如何選擇二進制編碼器

    二進制編碼器是一種數(shù)字電路,它將輸入的二進制代碼轉(zhuǎn)換為對應(yīng)的輸出信號。在數(shù)字系統(tǒng)中,編碼器用于將數(shù)據(jù)從一種形式
    的頭像 發(fā)表于 11-06 09:44 ?1688次閱讀

    二進制處理中的一些技巧

    二進制十進制的處理中,有時候一些小技巧是很有用的。 1、把十進制數(shù)轉(zhuǎn)換二進制數(shù) (1)在MATLAB中有一個函數(shù)dec2b
    的頭像 發(fā)表于 07-05 11:51 ?717次閱讀

    十進制和4位二進制計數(shù)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《十進制和4位二進制計數(shù)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-31 09:32 ?1次下載
    <b class='flag-5'>十進制</b>和4位<b class='flag-5'>二進制</b>計數(shù)<b class='flag-5'>器</b>數(shù)據(jù)表

    雙4位十進制二進制計數(shù)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《雙4位十進制二進制計數(shù)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-13 11:12 ?0次下載
    雙4位<b class='flag-5'>十進制</b>和<b class='flag-5'>二進制</b>計數(shù)<b class='flag-5'>器</b>數(shù)據(jù)表

    同步4位十進制二進制計數(shù)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《同步4位十進制二進制計數(shù)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-09 11:29 ?3次下載
    同步4位<b class='flag-5'>十進制</b>和<b class='flag-5'>二進制</b>計數(shù)<b class='flag-5'>器</b>數(shù)據(jù)表

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品