简单使用的BCD码判断方法

简介: 简单使用的BCD码判断方法

先看什么是BCD码:

BCD码(Binary-Coded Decimal)

亦称二进码十进数或二-十进制代码。

用4位二进制数来表示1位十进制数中的0~9这10个数码。

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

通俗点,BCD码就是对于8位数字来说,高4为和低4为均不超过9的数字。

对新手来说,BCD码很容易和16进制数混淆。
举几个例子:

12 

作为10进制很好理解,表示12;作为16进制表示0x12,等于十进制的18;但它同时又可作为BCD码传输,代表1和2,一般作为地址等特定数据传输。

0xAB

则不是bcd码,因为高四位A和第四位B均超过了9,属于16进制数。

如何判断一个数字是否是BCD码呢

其实我们根据BCD码的定义来看就知道,只需要写一个循环,逐个数字进行判断,逻辑也很简单。如下:

U8 JudgeBCD(U8 *sPtr, U8 Len)
{
    U8 Temp;

        while (Len--)
        {
            Temp = *sPtr++;
            if (((Temp >> 4  ) >= 10) || ((Temp & 0x0F) >= 10))
            {
                   return false;
            }
        }

        return true;
}
相关文章
|
2天前
|
JavaScript 前端开发 物联网
正则表达式的用法(判断是否为手机号格式)
正则表达式的用法(判断是否为手机号格式)
325 1
|
10月前
|
JSON 数据格式 Python
如何判断返回的python字符串是否符合json格式
如何判断返回的python字符串是否符合json格式
|
11月前
|
存储
系统码的编译码与汉明码
系统码的编译码与汉明码
81 0
系统码的编译码与汉明码
|
IDE 编译器 程序员
编写第一个 C++ 程序:Hello World 示例
"Hello World"程序是学习任何编程语言的第一步,也是你将学习的最简单的程序之一。你所要做的就是在屏幕上显示消息"Hello World"。现在让我们看看程序:
110 0
Code39 码是干什么的?底层原理是什么?
Code39 码是干什么的?底层原理是什么?
238 0
PHP:生成4位或6位随机登录码
PHP:生成4位或6位随机登录码
102 0
|
JSON 数据格式
关于 Qt使用QJsonObject解析超范围整数的时候提取value失败 的解决方法
关于 Qt使用QJsonObject解析超范围整数的时候提取value失败 的解决方法
关于 Qt使用QJsonObject解析超范围整数的时候提取value失败 的解决方法
|
Java
Java实现图片转字符输出示例demo
前面几篇博文介绍了使用jdk来对图片做一些有意思的转换,接下来我们再介绍一个有意思的玩法,直接根据图片,输出一个二维字符数组,实现用字符来实现绘画的场景 各位小伙伴可能都有看到过一些有趣的注释,比如大佛,美女之类的,通关本文,相信你也很可以很简单的实现类似的场景 作者:一灰灰 链接:https://juejin.cn/post/7033040253673799711 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
112 0
Java实现图片转字符输出示例demo
TP5.1对登录的返回码优化
TP5.1对登录的返回码优化
115 0
TP5.1对登录的返回码优化