0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Q4MP_gh_c472c21 来源:未知 作者:龚婷 2018-03-14 10:15 次阅读

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

    文章

    705

    浏览量

    41248
  • 十进制
    +关注

    关注

    0

    文章

    62

    浏览量

    13025
  • BCD码
    +关注

    关注

    1

    文章

    52

    浏览量

    18126

原文标题:在高精度计算中它很常用,BCD码与十进制简介

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    进制二进制之间的转换原理

    ,可得第一个余数b0,同时上式演变为:  将等式两边再除以2,可得第个余数b1,等式变为:  重复上述过程直到商0,就可由所有的余数求出二进制。  例题 1.3.3 将(25)D
    发表于 04-06 23:54

    [原创]16位二进制转换BCD

    16位二进制转换BCD码[此贴子已经被作者于2009-11-24 14:29:44编辑过]
    发表于 11-24 14:25

    用FPGA设计将BCD转换二进制电路

    用FPGA设计将BCD转换二进制电路
    发表于 03-11 20:37

    如何用VHDL实现16位二进制转化为相应的BCD

    downto 0));End;Architecture one of B_BCD isBeginProcess(B)begin(16位的二进制码)转化为(相应的BCD码);比如说1234这个十
    发表于 04-10 09:46

    关于两位十进制转换二进制的仿真 求助啊

    求助,不怎么懂这题该怎么做。求教。用两片四位全加器74283和必要的逻辑门设计一个数制转换电路,实现将输入的两位十进制转换二进制
    发表于 07-01 20:13

    【小梅哥FPGA进阶教程】第二进制BCD

    Decimal)也称二进码十进-十进制代码。用4位二进制数来表示1位十进制
    发表于 01-09 14:38

    如何使用USART接收二进制

    我想制作一个以8个LED的形式实现二进制计数器。该计数器通过USART发送一个8位二进制,并让8个LED显示数字(如果位0,则指示灯熄灭,当位
    发表于 10-08 14:07

    labview编程模拟十进制数到二进制转换过程

    模拟十进制数到二进制转换过程,以LED来模拟各个二进制位,并能以动画方式模拟计数的过程。 选择手动方式时,将8个LED变成滑动条中数字的
    发表于 12-07 22:20

    怎么将16位二进制转换成十进制函数

    有没有人建立一个将16位二进制转换成十进制函数?谢谢,JB 以上来自于谷歌翻译 以下为原
    发表于 03-26 11:21

    【梦翼师兄今日推荐】BCD二进制程序设计讲解

    BCD码的方法。那么现在我们就反过来思考一下,设计一个什么样的电路,才可以将BCD转换二进制呢?基本概念在数学中,我们都知道随便一个
    发表于 12-03 21:48

    如何理解二进制运算规则 二进制是如何运算的

    都是0)。小数部分也一样,但精确度较少。(2)二进制转换为八进制:采用“三位一并法”(是以小数点中心向左右两边以每三位分组,不足的补上
    发表于 12-11 17:49

    十六进制字符串转换二进制

    一种十六进制字符串转换二进制的方法
    发表于 09-11 14:39

    如何用bcd码表示十进制

      (一) 那么是什么BCD码呢?  BCD码(Binary-Coded Decimal),用4位二进制数来表示1位十进制中的0~9这10个数码,是一种
    发表于 01-15 15:41

    在FPGA中实现一种二进制BCD码的电路设计

    字逻辑设计课程中,我们已经学过了BCD码的相关知识,它用4位二进制数来表示1位十进制中的09,是二进制
    发表于 07-12 16:41

    如何利用二进制数实现BCD码的转换

    编写子程序Bin2BCDBCD2Bin实现二进制数到压缩BCD码的相互转换。待转换
    发表于 05-19 10:59 2.7w次阅读
    如何利用<b class='flag-5'>二进制</b>数实现<b class='flag-5'>BCD</b>码的<b class='flag-5'>转换</b>