bcd碼如何轉換成十六進位制數,BCD碼如何轉換成十六進位制數

2021-05-15 23:29:08 字數 3055 閱讀 2618

1樓:南瓜蘋果

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)。

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

擴充套件資料

看資料的**和用途。bcd碼一般用於輸入和輸出,例如來自撥碼開關的資料是bcd碼,送給顯示電梯樓層的譯碼器晶片的是bcd碼。

8421 bcd碼是最基本和最常用的bcd碼,它和四位自然二進位制碼相似,各位的權值為8、4、2、1,故稱為有權bcd碼。和四位自然二進位制碼不同的是,它只選用了四位二進位制碼中前10組**,即用0000~1001分別代表它所對應的十進位制數,餘下的六組**不用。

bcd碼用十六進位制格式輸入,其最高位(符號位為16#f(2#1111)。bcd碼的低3位各位只能是0~9,如果是16#a~16#f則會出錯。 計數器的預設值pv是0~999的bcd碼,可以用格式為c#的常數(c#1~c#999)作為計數器的預設值。

2樓:糖糖又笑了

先將bcd碼轉換為十進位制,然後在再轉換成十六進位制

8421 bcd碼是最基本和最常用的bcd碼,它和四位自然二進位制碼相似,各位的權值為8、4、2、1,故稱為有權bcd碼。和四位自然二進位制碼不同的是,它只選用了四位二進位制碼中前10組**,即用0000~1001分別代表它所對應的十進位制數,餘下的六組**不用。

3樓:匿名使用者

對於bcd碼每四位代表一個十進位制數字0-9,可以將bcd碼轉化為十進位制,然後再將十進位制轉化為十六進位制。

下面是以8421bcd碼為例編寫的vc++6.0程式**:

#include

#include

#include

using namespace std;

int convertstringtoint(string s)void main()

num=num*10+temp2;

}cout<<"十進位制"<

cout<<"十六進位制"<

} 如果不會編譯源**,可以把郵箱寫出來,我給你發程式。

怎麼將十六進位制轉化為bcd碼

4樓:向天致信

十六進位制數:3d2轉換成十進位制是978;

最後bcd碼是:1001 0111 1000。

在計算機中,資料是以0和1的二進位制方式來表示的。比如一個8位的二進位制數,就表示為 0001 0001,由於二進位制數用起來比較不方便,所以人們通常以16進位制的方式來表達,比如上述的00010001的16進製表示為0x11。

16進位制的0x11,如果用十進位制來表示的話,代表的數是16。

由於十進位制數是人們在日常生活中常用的資料表示方式。所以,想要顯示某個數的話,一般會轉化為十進位制裡顯示。

**首次判別資料是否是負數 ,如果是的話,顯示符號-。

然後看到,轉換是以除法和減法的方式來實現的。

5樓:匿名使用者

這是錯的,十六進位制數:3d2轉換成十進位制是978,最後bcd碼是:1001 0111 1000

6樓:紫月旭日

很簡單啊!比如:

這是一個16進位制的數:3d2

把3化為二進位制:011

把d化為二進位制:1101

把2化為二進位制:010

最後bcd碼就為:0111101010

7樓:匿名使用者

c#有一個自帶的轉換函式,好像是在bitconvert類

十六進位制轉化 bcd碼

8樓:匿名使用者

void hextobcd(u8 *pbuff,u8 len) //十六進位制

抄轉為bcd碼

}bcd碼就襲是用二進位制數來表示常用的十進位制數。

就是用四個位的二進位制來表示一個二進位制數。一個位元組一共有八個位,它就可以表示兩個bcd碼。比如,0fh等於二進位制物15,用一個位元組低四位來表示5,高四位來表示1合起來就是15h,不用轉換兩次的。

例如:63÷10=6……3

即商是6,餘數是

如果將商乘以16再加上餘數,就是:6×16+3=99,其16進位制數就是63h,即是十進位制數63(16進製為3fh)的bcd碼為63h。

如果在微控制器中,程式這麼寫:char hex,bcd;bcd=(hex/10*16)+(hex%10);

其中hex儲存十六進位制數,bcd中儲存的就是其bcd碼。

9樓:匿名使用者

借下bai回答最好的例子,假du設16進位制數3fh,轉化為zhi10進位制數為63,如果直接dao

問63的bcd碼是多少,(bcd碼是用版4個位權

表示0~9)做法如下6的bcd碼為0110,3的bcd碼為0011,兩個一組合為01100011轉化為10進製為99,(就是將十進位制每個位的數用bcd碼錶示),6*16的原因是為了將6往前移動4位。再舉個例子16進位制數adh,其轉化為十進位制為173,其bcd碼1*16*16+7*16+3=371,程式話應該很好實現,一個while迴圈就能搞定

10樓:匿名使用者

我舉抄個例子吧,你程式設計的時候照著這方法來就沒錯了:

假設16進位制數3fh,其十進位制數值為3*16+15=63,所以先進行如下過程:

63÷10=6……3

即商是6,餘數是

如果將商乘以16再加上餘數,就是:

6×16+3=99,其16進位制數就是63h,即是十進位制數63(16進製為3fh)的bcd碼為63h。

如果在微控制器中,程式這麼寫:

char hex,bcd;

bcd=(hex/10*16)+(hex%10);

其中hex儲存十六進位制數,bcd中儲存的就是其bcd碼。

十六進位制帶小數轉換成十進位制,十六進位制小數轉換為十進位制怎麼轉

十六進位制 是可以直接轉copy成 十進位制 的例如 126.398h 整數部分126 百位 1 16 16 16的平方 十位 2 16 16的一次方 個位 6 16的零次方 小數部分398 3 16 1 9 16 2 8 16 3 十六進位制數bai和十進位制數類似,以小數du點為界,整數部分從z...

十六進位制怎麼轉換成十進位制,十六進位制怎麼轉換成十進位制

用位加權乘,積相加法比較 簡單。如8ffc035b轉換為十進位制 最低位是16 0,依次向左 8ffc035b 16 8x16 7 fx16 6 fx16 5 cx16 4 0x16 3 3x16 2 5x16 1 bx16 0 2147483648 15x16 6 15x16 5 12x16 4 ...

如何將十進位制轉換成八進位制和十六進位制

大體上源 2,8,16進位制 bai 轉du為 10進位制,用 zhi乘法.10進位制 轉為 2,8,16進位制,用除法.但是,8進位制轉16進位制,一般會用2進位制 作為中間轉換dao.我們學完了所有進位制 10進位制,8進位制,16進位制數的表達方式。很重要的一點,c c 中,10進位制數有正負...