C语言之字段类型应用的技巧
时间:2022-07-24
本文章向大家介绍C语言之字段类型应用的技巧,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在各种设备间的传输协议或者通信协议中,一般对数据的字段类型都各不相同,比如BCD码,BIN码,ASCII码等。下面接收几种字段类型定义的实例
1.BCD码
定义一个16位机器编码 2018041912345678
uint8_t Dev[8] ;
一般两种存储方式:
大端模式:高位存在低位地址上
Dev[0]=0x20;
Dev[1]=0x18;
Dev[2]=0x04;
Dev[3]=0x19;
Dev[4]=0x12;
Dev[5]=0x34;
Dev[6]=0x56;
Dev[7]=0x78;
小端模式:低位存在高位地址上
Dev[0]=0x78;
Dev[1]=0x56;
Dev[2]=0x34;
Dev[3]=0x12;
Dev[4]=0x19;
Dev[5]=0x04;
Dev[6]=0x18;
Dev[7]=0x20;
2.BIN码
定义一个费用变量
uint16_t money;
uint8_t buf[128];
money=0x1234;
一般两种存储方式:
大端模式:高位存在低位地址上
buf[0]=0x12; buf[1]=0x34
小端模式:低位存在高位地址上
buf[0]=0x34; buf[1]=0x12
3.字符串
都是以ASCII码形式上传
设备号
const char temp[]="AY03B000017090003A";
uint8_t buf[],len;
len=sprintf((char *)buf, "%s",temp);
这是大端存储方式
如果小端存储方式还有进行数组掉头
uint8_t datbuf[100];
strchghead(datbuf,(uint8_t *)&buf,len)
void strchghead(unsigned char *dbuf,unsigned char *sbuf,unsigned int slen)
{
unsigned int i;
for(i=0;i<slen;i++)
{
dbuf[i] = sbuf[slen-i-1];
}
}
- 手把脚教你实现第一个在线预测系统No.21
- Python基本数据类型
- C++对象的赋值和复制
- C++区别于其他语言的知识点总结
- SQL连接查询(最全面)
- Java Beans
- 呐你们要的算法(一)No.17
- 使用Python生成一张用于登陆验证的字符图片
- Jupyter notebook的安装方法
- Linux学习第三十四篇:rsync通过服务同步,Linux系统日志,screen工具
- 小程序支付详解+源码(客户端+服务端)
- Python Windows下分布式进程的坑(分布式进程的一个简单例子)
- Python pdb调试
- linux学习第三十五篇:LAMP架构介绍,MySQL_MariaDB介绍,MySQL安装
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux一键屏蔽指定国家所有的IP访问
- React基础(9)-React中发送Ajax请求以及Mock数据
- 一个快速引入CDN的workflow
- 在Ryzen平台上安装macOS High Sierra苹果系统
- v-selectpage 基于Vue2的高清重制版
- Android Studio3.6中的View Binding初探及用法区别
- Android日志文件的读写工具类
- <Go语言学习笔记>【数组与切片】
- Android Studio 3.6 新特性一览(推荐)
- 03 Linux下的SVN服务器搭建
- Android openGl 绘制简单图形的实现示例
- 解决Android studio 3.6.1 出现Cause: unable to find valid certification path to requested target 报错的问题
- 使用kotlin实现MVP的方式(简单好用)
- Android Studio 3.6中新的视图绑定工具ViewBinding 用法详解
- android studio更新gradle错误构建项目失败的解决方法