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

    文章

    793

    浏览量

    41593
  • 十进制
    +关注

    关注

    0

    文章

    66

    浏览量

    13179
  • BCD码
    +关注

    关注

    1

    文章

    52

    浏览量

    18272

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    二进制BCD转换资料

    6位二进制转换BCD码的的快速算法-51单片机2010-02-18 00:43在做而论道上篇博文中,回答了一个16位二进制
    发表于 08-19 17:42 96次下载

    二进制与八进制的相互转换

    二进制与八进制的相互转换 (1)二进制
    发表于 09-24 11:27 2w次阅读

    二进制与十六进制的相互转换

    二进制与十六进制的相互转换 二进制与十六
    发表于 09-24 11:28 9734次阅读
    <b class='flag-5'>二进制</b><b class='flag-5'>数</b>与十六<b class='flag-5'>进制</b><b class='flag-5'>数</b>的相互<b class='flag-5'>转换</b>

    进制转换二进制

    进制转换二进制采用的方法 — 基数连除、连乘法原理:将整数部分:除2求余法     
    发表于 09-24 11:30 4704次阅读
    十<b class='flag-5'>进制</b><b class='flag-5'>数</b><b class='flag-5'>转换</b>为<b class='flag-5'>二进制</b><b class='flag-5'>数</b>

    二进制的运算规则

    二进制的运算规则  二进制之间可以执行算术运算和逻辑运算,其规则简单,容易实现。  (1) 加法运算规则    0 + 0 = 0         例如:
    发表于 10-13 16:24 2.3w次阅读

    进制二进制编码

    进制二进制编码     在人机交互过程中,为了既满足系统中使用二进制
    发表于 05-02 19:04 9718次阅读

    智能仪表多字节二进制转换BCD

    多字节无符号二进制BCD 码在以单片机核心的智能仪表中应用很普遍。本文介绍一种新的转换方法,并给出三字节
    发表于 06-23 16:58 54次下载
    智能仪表多字节<b class='flag-5'>二进制</b><b class='flag-5'>数</b><b class='flag-5'>转换</b><b class='flag-5'>BCD</b>码

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

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

    二进制转换bcd

    二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的。它的基数2,进位规则是“逢二进一”,借位规则是“借一当
    的头像 发表于 11-22 07:01 1.2w次阅读

    二进制开源分享

    电子发烧友网站提供《二进制开源分享.zip》资料免费下载
    发表于 06-26 11:40 0次下载
    <b class='flag-5'>二进制</b><b class='flag-5'>数</b>开源分享

    如何实现二进制BCD码数据的相互转变?

    如何实现二进制BCD码数据的相互转变? 二进制码是将十进制数字表示二进制
    的头像 发表于 02-18 14:51 3260次阅读