BCD码简介及其与十进制数字字符串之间的转换
2017-12-07 18:00
851 查看
http://blog.csdn.net/zhouzhaoxiong1227/article/details/72835750
大家都知道在计算机中,数据的常用编码格式有二进制、八进制、十进制和十六进制等,这些编码格式之间可以相互转换。在电力通信协议中,很多数据都是用BCD格式来编码的,这些数据需要转换为普通的十进制数字串。本文首先对BCD码进行简单的介绍,然后用代码演示它与十进制数字字符串之间的转换。
BCD码简介
BCD码(Binary Coded Decimal)是一种二进制的数字编码形式,它是用二进制编码的十进制代码。这种编码形式利用四个位来储存一个十进制数,使得二进制和十进制之间的转换得以快捷地进行。常见的BCD编码有8421BCD码,2421BCD码和余3码,其中又以8421BCD码最为常见。本文介绍8421BCD码与十进制数字字符串之间的转换。
十进制数与8421BCD码的对应关系如下表所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/21/0d13a0354c14e576ca702d4bb4676ca2)
从上表中,我们也可以看出十进制数与8421BCD码的对应关系:两个字节的十进制数可以用一个字节的8421BCD码来表示。例如,数字字符串“19”是两个字节,它对应的8421BCD码为“00011001”(只有一个字节),其中高四位的“0001“代表十进制的“1“,低四位的“1001“代表十进制的“9“。
十进制数字串与8421BCD码之间的转换
根据前面对BCD码的介绍,我们可以编写代码分别实现BCD码转换为十进制数字串和十进制数字串转换为BCD码。具体的代码已经提交到了GitHub上,欢迎下载阅读:https://github.com/zhouzxi/BCD2String。其中,BCD2String函数用于将8421BCD码转换为十进制数字串,String2BCD函数用于将十进制数字串转换为8421BCD码。
本程序是运行在Linux系统上的,大家可以使用“gcc -g -o BCD2String BCD2String.c”命令对代码进行编译,之后运行“./BCD2String”命令,结果如下:
2
3
4
大家可以根据运行的结果来阅读程序,看一下8421BCD码与十进制数字串之间的转换原理。
顶1
踩0
上一篇JSON简介及具体的JSON消息示例
下一篇从高考到程序员---一个五年程序员的回忆及建议
相关文章推荐
大家都知道在计算机中,数据的常用编码格式有二进制、八进制、十进制和十六进制等,这些编码格式之间可以相互转换。在电力通信协议中,很多数据都是用BCD格式来编码的,这些数据需要转换为普通的十进制数字串。本文首先对BCD码进行简单的介绍,然后用代码演示它与十进制数字字符串之间的转换。
BCD码简介
BCD码(Binary Coded Decimal)是一种二进制的数字编码形式,它是用二进制编码的十进制代码。这种编码形式利用四个位来储存一个十进制数,使得二进制和十进制之间的转换得以快捷地进行。常见的BCD编码有8421BCD码,2421BCD码和余3码,其中又以8421BCD码最为常见。本文介绍8421BCD码与十进制数字字符串之间的转换。
十进制数与8421BCD码的对应关系如下表所示:
从上表中,我们也可以看出十进制数与8421BCD码的对应关系:两个字节的十进制数可以用一个字节的8421BCD码来表示。例如,数字字符串“19”是两个字节,它对应的8421BCD码为“00011001”(只有一个字节),其中高四位的“0001“代表十进制的“1“,低四位的“1001“代表十进制的“9“。
十进制数字串与8421BCD码之间的转换
根据前面对BCD码的介绍,我们可以编写代码分别实现BCD码转换为十进制数字串和十进制数字串转换为BCD码。具体的代码已经提交到了GitHub上,欢迎下载阅读:https://github.com/zhouzxi/BCD2String。其中,BCD2String函数用于将8421BCD码转换为十进制数字串,String2BCD函数用于将十进制数字串转换为8421BCD码。
本程序是运行在Linux系统上的,大家可以使用“gcc -g -o BCD2String BCD2String.c”命令对代码进行编译,之后运行“./BCD2String”命令,结果如下:
$ ./BCD2String szDigitBuf=7539! szBCDData=19! szDigitBuf=19!1
2
3
4
大家可以根据运行的结果来阅读程序,看一下8421BCD码与十进制数字串之间的转换原理。
顶1
踩0
上一篇JSON简介及具体的JSON消息示例
下一篇从高考到程序员---一个五年程序员的回忆及建议
相关文章推荐
相关文章推荐
- BCD码简介及其与十进制数字字符串之间的转换
- java中的字符,字符串,数字之间的转换
- IP地址转换:数字与字符串之间的转换
- python 字符串与数字之间的转换
- 字符串与数字之间的相互转换、判断大小端(用的是union)
- C++中数字与字符串之间的转换
- C++中字符串与数字类型之间的转换
- C++中数字与字符串之间的转换
- C++中数字与字符串之间的转换
- 数字与字符串之间的转换
- kotlin字符串和数字之间的转换和人机交互
- C++中数字与字符串之间的转换
- C语言将字符串转换成对应的数字(十进制、十六进制)
- Java字符串,数字之间的转换
- C语言字符串与数字之间的相互转换
- Java 日期字符串date与数字long之间的转换
- 字符串与数字之间的互相转换
- Java字节、十进制、十六进制、字符串之间的相互转换
- 数字和其对应的字符串之间转换的规律
- C++中字符串和数字之间的转换