BCD碼(Binary-Coded Decimal?)亦稱二進(jìn)碼十進(jìn)數(shù)或二-十進(jìn)制代碼。用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)碼。它是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十進(jìn)制代碼。
BCD碼這種編碼形式利用了四個(gè)位元來儲(chǔ)存一個(gè)十進(jìn)制的數(shù)碼,使二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換得以快捷的進(jìn)行。
這種編碼技巧最常用于會(huì)計(jì)系統(tǒng)的設(shè)計(jì)里,因?yàn)闀?huì)計(jì)制度經(jīng)常需要對很長的數(shù)字串作準(zhǔn)確的計(jì)算。
相對于一般的浮點(diǎn)式記數(shù)法,采用BCD碼,既可保存數(shù)值的精確度,又可免卻使電腦作浮點(diǎn)運(yùn)算時(shí)所耗費(fèi)的時(shí)間。此外,對于其他需要高精確度的計(jì)算,BCD編碼亦很常用。
/* 編寫一個(gè)函數(shù),轉(zhuǎn)換BCD編碼二進(jìn)制數(shù)為整型數(shù)。比如0x00001234轉(zhuǎn)換為1234。*/
1.#include
2.#include
3.intmain()
4.{
5.inta=0x01134568;
6.inti,sum=0;
7.intb=0;
8.intc=0;
9.for(i=1;i<=?8;?i++?)??
10.{
11.printf("%x\n",a);
12.c=a&0x0000000f;
13.if(i==8)
14.{
15.if(c==1)
16.break;
17.}
18.sum+=c*pow(10,i-1);
19.printf("%d\n",sum);
20.a=a>>4;
21.}
22.if(c==1)
23.{
24.printf("-%d",sum);
25.}
26.else
27.{
28.printf("%d",sum);
29.}
30.}
-
二進(jìn)制
+關(guān)注
關(guān)注
2文章
801瀏覽量
41767 -
十進(jìn)制
+關(guān)注
關(guān)注
0文章
67瀏覽量
13283 -
BCD碼
+關(guān)注
關(guān)注
1文章
52瀏覽量
18381
原文標(biāo)題:在高精度計(jì)算中它很常用,BCD碼與十進(jìn)制簡介
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
[原創(chuàng)]16位二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼
用FPGA設(shè)計(jì)將BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)電路
【小梅哥FPGA進(jìn)階教程】第二章 二進(jìn)制轉(zhuǎn)BCD
二進(jìn)制與BCD碼轉(zhuǎn)換資料
二進(jìn)制數(shù)與八進(jìn)制數(shù)的相互轉(zhuǎn)換
二進(jìn)制數(shù)與十六進(jìn)制數(shù)的相互轉(zhuǎn)換
![<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>數(shù)</b>與十六<b class='flag-5'>進(jìn)制</b><b class='flag-5'>數(shù)</b>的相互<b class='flag-5'>轉(zhuǎn)換</b>](https://file1.elecfans.com//web2/M00/A5/46/wKgZomUMN7KAICyoAAAcUKX9sa8305.jpg)
二進(jìn)制數(shù)的運(yùn)算規(guī)則
十進(jìn)制數(shù)的二進(jìn)制編碼
智能儀表多字節(jié)二進(jìn)制數(shù)轉(zhuǎn)換BCD碼
![智能儀表多字節(jié)<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>數(shù)</b><b class='flag-5'>轉(zhuǎn)換</b><b class='flag-5'>BCD</b>碼](https://file.elecfans.com/web2/M00/49/00/pYYBAGKhtDKAQ32FAAAUYbUBVos567.jpg)
如何利用二進(jìn)制數(shù)實(shí)現(xiàn)BCD碼的轉(zhuǎn)換
![如何利用<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>數(shù)</b>實(shí)現(xiàn)<b class='flag-5'>BCD</b>碼的<b class='flag-5'>轉(zhuǎn)換</b>](https://file.elecfans.com/web1/M00/51/13/o4YBAFr_hAuAcIrEAACzEgIZX_M987.png)
評(píng)論