今天有人在问我BCD码如何转换成10进制码的问题,其实很简单

BCD 的表示法是 用4个二进制位来表示 一个十进制位,也就是一个字节能够表示2个十进制数位,这是一种压缩的十进制表示方式,应用很广,最常见的就是CMOS里的时间存放格式就是BCD码格式,更具体的表示方法大家可以去百度一下就知道了不过其实知道我上面说的就差不多了。

明白了BCD是怎么表示后转换也就容易了,低4位和高4位分别转换然后合并起来就是了!

如15用BCD码表示为 0001 0101

低四位的值就是实现十进制数的低四,高4位就是高四位的值,这样我们有很高效的转换方法:低四位+高四位×10 (上面是2位十进制数的)

用C语言表达一下可能更能明白我上面说的意思

#include int main(void)

{

/** 15用BCD码表示为 0001 0101 **/

int bcd = 0x15;

int dec;

dec = (bcd & 15) + ((bcd>>4) * 10);

printf("%d\n",dec);

return 0;

}

所以实际转换可以定义成一个宏

#define BCDTODEC(bcd)

#include #define BCDTODEC(bcd) ((bcd) = ((bcd) & 15) + ((bcd)>>4) * 10)

int main(void)

{

/** 15用BCD码表示为 0001 0101 **/

int bcd = 0x15;

BCDTODEC(bcd);

printf("%d\n",bcd);

return 0;

}

c语言字节BCD码转换成10进制,如何将BCD码转换成10进制码相关推荐

  1. 2020.10.25 删除文本的标点并转换成列表

    2020.10.25 删除文本的标点并转换成列表 要求: 从文本中删除标点符号并将最终产品转换为列表 代码: # 从文本中删除标点符号并将最终产品转换为列表: # On a dark desert h ...

  2. 内存中有两个4字节以压缩的bcd_【汇编程序】循环程序设计方法 求A和B两个4字节BCD数之和 他们在内存中以压缩BCD码形式存放...

    ;循环程序设计方法 求A和B两个4字节BCD数之和 他们在内存中以压缩BCD码形式存放 ;低字节在前 高字节在后 要求结果以同样形式存放以SUM的单元中 data segment a db 44h,3 ...

  3. 计算机内区位码默认是几进制,汉字的区位码怎么转换成十六进制?

    一.ASCII码是计算机进行信息交换的最基本字符标准,例如,键盘与计算机主机之间的通信就是靠ASCII的标准来支持的.例如: 大写字母A的ASCII码就是十进制数65,数字0的ASCII就是48,小写 ...

  4. C语言字节对齐问题详解

    转载原文连接:https://www.cnblogs.com/clover-toeic/p/3853132.html C语言字节对齐问题详解 引言 考虑下面的结构体定义: 1 typedef stru ...

  5. C语言字节对齐问题详解(zz)

    http://www.bubuko.com/infodetail-263205.html 引言 考虑下面的结构体定义: typedef struct{char c1;short s; char c2; ...

  6. c语言特殊字符字符串宽度对齐,[转]C语言字节对齐问题详解

    引言 考虑下面的结构体定义: 1 typedef struct{2 charc1;3 shorts;4 charc2;5 inti;6 }T_FOO; 假设这个结构体的成员在内存中是紧凑排列的,且c1 ...

  7. C语言笔记:数制与进制(数制)之间转换问题

    文章目录 简介 进制的基本概念 二进制.八进制.十六进制加减法的区别 二进制 八进制 十六进制 数制之间的转换 情景一.将二进制.八进制.十六进制转换为十进制(总结:按权相加) 整数部分(不带小数) ...

  8. 程序人生 | C语言字节对齐问题详解 - 对齐/字节序/位序/网络序等(上)

    本文首发于 2014-07-21 15:32:28 1. 引言 考虑下面的结构体定义: typedef struct{char c1;short s; char c2; int i; }T_FOO; ...

  9. python源码只有编译成二进制_【转】Python源代码编译成 pyc pyo

    原文地址 http://blog.csdn.net/sislcb/archive/2009/03/18/4002414.aspx什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的 ...

  10. json c语言 数组转字符串数组中,json和字符串/数组/集合的互相转换の神操作总结...

    一:前端字符串转JSON的4种方式 1,eval方式解析,恐怕这是最早的解析方式了. function strToJson(str){ var json = eval('(' + str + ')') ...

最新文章

  1. Qt简介、安装及在Ubuntu14.04 32位上简单使用举例
  2. 【随记】动态调用web服务
  3. shell字符串处理
  4. 命名实体识别遇到的问题
  5. vector notes
  6. Theano 中文文档 0.9 - 7.1.2 NumPy新手
  7. java nextbyte()_java.util.Scanner.hasNextByte()方法实例
  8. WPF实现Win10汉堡菜单
  9. python 获取当前目录,上级目录,上上级目录,N级目录
  10. centos7忘记root密码,重置
  11. 责任链模式实现及在Filter中的应用
  12. mysql数据库各项参数查询
  13. jsonp跨域原理(简单粗暴)
  14. GAT, Self Attention, Cross Attention对比以及在自动驾驶轨迹预测任务中的pytorch应用
  15. 合成大西瓜自定义图片及部署
  16. U盘变32G的解决办法
  17. 宝宝咳嗽症状以及护理
  18. 服务器物理内存利用率,服务器提高物理内存利用率
  19. JS字符串转Byte[]
  20. 仿电池电量充电、上下左右剪切动画

热门文章

  1. Excel删除xlam加载项右键多余功能如何清理
  2. 降维 ---- 主成分分析 (PCA)、奇异值分解 (SVD)
  3. tufu9441/maupassant-hexo
  4. 我是一名铺砖匠——铺砖问题汇总(DP)
  5. 番茄土豆 for Mac工作原理介绍
  6. 小技巧:罗技一个接收器连接多个鼠标或键盘
  7. [直播]2021 信创“大比武”基础办公应用开发赛道 - 总决赛
  8. 生物信息学研究的问题1-转录组分析和调控网络
  9. 层自动命名模块检测未通过
  10. Learning to Discover Causes of Traffic Congestion with Limited Labeled Data