搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
他山之石 | 丁香园 医疗领域图谱的构建与应用
2
项目中遇到的问题及解决方式_no matching version found for @babel/plugin-propos
3
php 接口post,php post请求http接口
4
docker jar包运行目录在哪_Maven打包docker的jar包镜像
5
Linux离线安装Docker-Oracle_11g
6
【C语言%的多种用法】
7
docker 配置文件:/etc/docker/daemon.json
8
Microsoft Edge 无法登陆 错误代码:3、15、-2147023579_错误代码:3、15、-2147024894
9
基于springboot的社区物业管理系统(完美运行,包含数据库源代码,可完美运行)_基于springboot的物业管理系统
10
使用ThinkPHP6实现异步任务_thinkphp异步任务
当前位置:
article
> 正文
十进制、十六进制、bcd互转_dec_to_bcd
作者:花生_TL007 | 2024-03-17 22:39:17
赞
踩
dec_to_bcd
//输出:
//
//返回:int rslt 转换后的十进制数据
//
//思路:十六进制每个字符位所表示的十进制数的范围是0 ~255,进制为256
// 左移8位(<<8)等价乘以256
//
/
unsigned long HextoDec(const unsigned char *hex, int length)
{
int i;
unsigned long rslt = 0;
for(i=0; i<length; i++)
{
rslt += (unsigned long)(hex[i])<<(8*(length-1-i));
}
return rslt;
}
/
//
//功能:十进制转十六进制
//
//输入:int dec 待转换的十进制数据
// int length 转换后的十六进制数据长度
//
//输出:unsigned char *hex 转换后的十六进制数据
//
//返回:0 success
//
//思路:原理同十六进制转十进制
//
int DectoHex(int dec, unsigned char *hex, int length)
{
int i;
for(i=length-1; i>=0; i--)
{
hex[i] = (dec%256)&0xFF;
dec /= 256;
}
return 0;
}
/
//
//功能:求权
//
//输入:int base 进制基数
// int times 权级数
//
//输出:
//
//返回:unsigned long 当前数据位的权
//
//
unsigned long power(int base, int times)
{
int i;
unsigned long rslt = 1;
for(i=0; i<times; i++)
rslt *= base;
return rslt;
}
/
//
//功能:BCD转10进制
//
//输入:const unsigned char *bcd 待转换的BCD码
// int length BCD码数据长度
//
//输出:
//
//返回:unsigned long 当前数据位的权
//
//思路:压缩BCD码一个字符所表示的十进制数据范围为0 ~ 99,进制为100
// 先求每个字符所表示的十进制值,然后乘以权
//
unsigned long BCDtoDec(const unsigned char *bcd, int length)
{
int i, tmp;
unsigned long dec = 0;
for(i=0; i<length; i++)
{
tmp = ((bcd[i]>>4)&0x0F)*10 + (bcd[i]&0x0F);
dec += tmp * power(100, length-1-i);
}
return dec;
}
/
//
//功能:十进制转BCD码
//
//输入:int Dec 待转换的十进制数据
// int length BCD码数据长度
//
//输出:unsigned char *Bcd 转换后的BCD码
//
//返回:0 success
//
//思路:原理同BCD码转十进制
//
//
int DectoBCD(int Dec, unsigned char *Bcd, int length)
{
int i;
int temp;
for(i=length-1; i>=0; i--)
{
temp = Dec%100;
Bcd[i] = ((temp/10)<<4) + ((temp%10) & 0x0F);
Dec /= 100;
}
return 0;
}
int main()
{
register int i;
unsigned char tmp_bff[12] = "";
//十六进制转十进制
unsigned char HEX[4] = {0x34, 0xFE, 0x3E, 0xFF};
unsigned long dec_hex = 0;
dec_hex = HextoDec(HEX, 4);
printf("dec_hex = %d\n", dec_hex);
//十进制转十六进制
DectoHex(dec_hex, tmp_bff, 4);
for(i=0; i<5; i++)
{
printf("tmp_bff[%d] = 0x%02X\n",i, tmp_bff[i]);
}
//BCD码转十进制
unsigned long dec_bcd = 0;
unsigned char BCD[4] = {0x98, 0x23, 0x45, 0x78};
dec_bcd = BCDtoDec(BCD, 4);
printf("dec_bcd = %d\n", dec_bcd);
//十进制转BCD码
DectoBCD(dec_bcd, tmp_bff, 4);
for(i=0; i<5; i++)
{
printf("tmp_bff[%d] = 0x%02X\n", i, tmp_bff[i]);
}
getchar();
}
BCD
void BCDToChar(const unsigned char *src,unsigned int srcLen, unsigned char *dest)
{
unsigned char temp[2] = {0};
unsigned char temp2[1] = {0};
for(int i=0; i<srcLen; i++)
{
temp2[0] = src[i];
temp[0] = src[i]>>4;
temp[0] = temp[0]&0x0F;
temp[0] = temp[0]+0x30;
temp[1] = temp2[0]&0x0F;
temp[1] = temp[1]+0x30;
dest[i*2] = temp[0];
dest[i*2+1] = temp[1];
}
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/花生_TL007/article/detail/258454?site
推荐阅读
article
14.
django
缓存
简单介绍
_
django
cache
...
定义:
缓存
是一类可以更快的读取数据的介质统称,也指其他可以加快数据读取的存储方式。一般用来存储临时数据,常用的介质是读取...
赞
踩
article
Unity
-
Http
协议
请求
下载
系列2:
Http
WebRequest封装_
unity
beginge...
上篇文章介绍了
Http
请求
的接口封装,本篇具体介绍基于
Http
WebRequest接口实现的资源
请求
下载
。
Http
Web...
赞
踩
article
初中
毕业
没考上
高中
怎么
学
计算机
,必读 | 初中
毕业
没考上
高中
怎么
办?...
“中考
毕业
我要
怎么
办? 我能
怎么
办?”关于这些问题,首先,中考
毕业
的
学
生年龄都比较小,坚决不能在家里待着,更不能流入社会...
赞
踩
article
thinkphp
6
使用
配置
redis
_
thinkphp
redis
配置
用户名...
使用composer安装"p
redis
/p
redis
"完毕,.env加入如下
配置
:[REDIS]HOST=127.0.0...
赞
踩
article
软件
测试
面试
--说
一个
印象最深
的
bug
?_
测试
面试
问到复杂或印象深
的
bug
分析...
2023最新自动化
测试
自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_b...
赞
踩
article
OpenCV
的常用
数据类型
...
本文介绍了OpenCv常用
数据类型
,并以实例演示了其应用方法。
OpenCV
的常用
数据类型
&nb...
赞
踩
article
Mac
系统下
docker
容器无法使用--
net
host
共享宿主机端口的解决方案_
mac
docke...
背景最近使用了
Mac
系统的电脑作为了测试服务器,但是在
Mac
系统的电脑使用
docker
安装nginx进行反向代理,以前在...
赞
踩
article
php
strr
,
PHP
实现过滤
参数
字符的方法...
//
参数
处理函数2function RepPostVar2($val){if($val!=addslashes($val...
赞
踩
article
php
登录
验证
(包括
用户名
、密码、
验证
码、
数据库
、是否已登陆
验证
、自动
登录
和注销
登录
)_
java
编写...
登录
界面具体实现方法如下:login.html Title " alt="
验证
码"> 换
一个
自动
登录
登录
d...
赞
踩
article
Javaweb中的
Request
(
请求
)和
Response
(响应)_
java
结合
maven
使用req...
目录一、概念二、
请求
(
Request
)1.例子简介2.
Request
继承体系3.
Request
获取
请求
数据(1)
请求
行(...
赞
踩
article
【已
解决
】使用
vue
打包
后
查看
打包
好的出现白屏——
vue
2.x
打包
之
后
出现白屏_
vue
2
打包
白屏...
今天
打包
项目完之
后
,打开index.html去看看有没有什么发题,一打开奇怪的事发生了,居然是空白如图打开控制台之
后
,如...
赞
踩
article
wpf
中使用
cefsharp
加载本地
html
网页并实现
cs
和
js
的交互,并且
cefsharp
支持an...
废话少说,直接上代码:第一步:第二步:第三步:第四步:App.xaml.
cs
对应的代码:using CefSharp;u...
赞
踩
article
vue
-
cli
项目
打包
后
打开
页面
空白
_
vue
-
cli
打包
的
项目
空白
页...
关于
项目
在
打包
后
打开
页面
空白
问题在我们输入命令 npm run build
打包
项目
后在
项目
文件中会多出一个dist文件...
赞
踩
article
.
vue
文件
_
vue
项目打包后
index
.
html
文件
打开
空白解决方法...
build打包
vue
项目遇到的问题,如下:1、npm run build打包项目之后,生成的dist
文件
里面有被压缩后的...
赞
踩
article
Django
中
缓存
的使用_
django
cache
...
文章目录一、服务器
缓存
策略1、多种级别的
缓存
(1)数据库级别的
缓存
(2)将数据
缓存
到服务器内存中(3)文件系统级的
缓存
2...
赞
踩
article
带你造轮子,
自定义
一个
随意
拖拽
可吸边
的
View
...
在开发中,
随意
拖拽
可吸边
的悬浮
View
还是比较常见的,这种功能网上也有各种各样的轮子,其实写起来并不复杂,看完本文,你也...
赞
踩
article
vue
核心
原理
之
数据
响应
式
核心
原理
及实现_
vue
响应
式
原理
涉及的设计模
式
...
一、
数据
响应
式
核心
原理
MVVM 模
式
,
数据
变化,视图会自动变化。model、view、view-model。Vue
数据
变...
赞
踩
article
ES6
Promise
(
承诺
)看这一篇就够
了
...
一、什么是promise我们通常都会去 new 一个
Promise
,什么东西可以new啊? 是不是构造函数可以new, ...
赞
踩
article
redis
+
thinkphp5
的
注册
、登陆、关注基础
例子
_
tp5
redis
账号密码
登录...
最近初步接触
redis
,结合
thinkphp5
与
redis
,写了一个用户
注册
的
基础
例子
,用于学习。这个
例子
是结合了兄弟连...
赞
踩
article
PHP
代码
审计
18—
PHP
代码
审计
小结_
firefox
代码
审计
...
阶段性小结_
firefox
代码
审计
firefox
代码
审计
文...
赞
踩
相关标签
django
缓存
python
Unity
HttpWebRequest
断点续传
异步
多线程
初中毕业没考上高中怎么学计算机
thinkphp
php
redis
面试
bug
职场和发展
opencv
人工智能
计算机视觉
OpenCV常用数据类型
常用数据类型应用实例
OpenCV改变图形亮度方法
Mac的docker
docker共享宿主机端口失败
nginx
php strr