函数转换BCD编码二进制数为整型数

电子说

1.2w人已加入

描述

BCD码(Binary-Coded Decimal‎)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。它是一种二进制的数字编码形式,用二进制编码的十进制代码。

BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。

这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。

相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

/* 编写一个函数,转换BCD编码二进制数为整型数。比如0x00001234转换为1234。*/

1. #include   

2. #include   

3. int main()  

4. {  

5.     int a = 0x01134568;  

6.     int i,sum=0;  

7.     int b = 0;  

8.     int c = 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. }  

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分