BCD碼(Binary-Coded Decimal?)亦稱二進碼十進數或二-十進制代碼。用4位二進制數來表示1位十進制數中的0~9這10個數碼。它是一種二進制的數字編碼形式,用二進制編碼的十進制代碼。
BCD碼這種編碼形式利用了四個位元來儲存一個十進制的數碼,使二進制和十進制之間的轉換得以快捷的進行。
這種編碼技巧最常用于會計系統的設計里,因為會計制度經常需要對很長的數字串作準確的計算。
相對于一般的浮點式記數法,采用BCD碼,既可保存數值的精確度,又可免卻使電腦作浮點運算時所耗費的時間。此外,對于其他需要高精確度的計算,BCD編碼亦很常用。
/* 編寫一個函數,轉換BCD編碼二進制數為整型數。比如0x00001234轉換為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.}
-
二進制
+關注
關注
2文章
761瀏覽量
41475 -
十進制
+關注
關注
0文章
66瀏覽量
13140 -
BCD碼
+關注
關注
1文章
52瀏覽量
18219
原文標題:在高精度計算中它很常用,BCD碼與十進制簡介
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論