C语言常用的一些转换工具函数!
1、字符串转十六进制
代码实现:
2、十六进制转字符串
代码实现:
或者
效果:十六进制:0x13 0xAA 0x02转为字符串:”13AAA2”
3、字符串转十进制
代码实现:
第一种,如果带负号 这个就是atoi函数的实现:
效果:字符串:”-123” 转为 -123
第二种,如果不带负号:
效果:字符串:”123” 转为 123
第三种:包含转为浮点数:
效果:字符串:”123.456” 先转为 123456,然后除以1000得到123.456
4、十进制转字符串
代码实现:
如果只是单个十进制转字符串,使用sprintf函数就可以了。
如果是十进制数组:
效果:十进制数组13 14转为字符串“1314”
5、u8、u32转换
举个栗子:ASCII码里
这里写图片描述 字符‘A’ , 一个字节8bit ,即u8 十六进制为 0x41 二进制为 0100 0001
而对应的十进制为 65 整型65,4个字节32bit,即u32 十六进制为 0x41 二进制为 0000 0000 0000 0000 0000 0000 0100 0001
将u32数转换成u8数组
注意:这里是字符数组,不是字符串
字符串是以空字符(\0)结尾的char数组
效果:整型 50 转字符数组 {‘\0’,’\0’,’\0’,’2’}
u8数组转u32
void U8ArrayToU32(uint8_t *buf, uint32_t *u32Value)
{
*u32Value = (buf[0] <<24) + (buf[1] <<16) + (buf[2] <<8) + (buf[3] <<0);
}
效果:字符数组 {‘\0’,’\0’,’\0’,’2’}转为整型 50
6、大端小端
最后就是大小端问题了。STM32 默认是小端模式的,那么该如何转为大端?
1、转为大端
效果:len为数据类型为 u16(short),比如 0x11 0x22,转为u8(usigned char)数组。
大端为:
小端为:
如果你想提升你的编程能力,以便更好从事编程类工作的话!那么你很幸运~分享(源码、项目实战视频、项目笔记,基础入门教程)欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
最新文章
- 加入一个线程:join
- MySQL 常用的sql语句小结(待续)
- Android学习笔记 - BitmapFun解析
- 好程序员带你了解一下HTTPS和SSL/TLS协议的背景与基础
- Linux之yum安装软件
- 在Winform开发中使用日程控件XtraScheduler(2)--深入理解数据的存储
- mysql引擎整理
- php怎么获取checkbox复选框的内容?
- How To Use Logstash and Kibana To Centralize Logs On CentOS 6
- String path = request.getContextPath();这段什么用
- D3.js:完整的柱形图
- django celery的分布式异步之路(一) 起步
- redis源码分析之发布订阅(pub/sub)
- Java中常用加减密方式
- .NET Core的依赖注入[1]: 控制反转
- [Swift]LeetCode870. 优势洗牌 | Advantage Shuffle
- Oracle的RowId和Rownum
- effective java——30使用enum
- Java类加载过程及static详解
- python实现简单登陆流程
热门文章
- Gerrit 服务搭建和升级详解(包括 H2 数据库迁移 MySQL 步骤)
- [Luogu P1462] 通往奥格瑞玛的道路 (二分答案+最短路径)
- 力扣 - 768. 最多能完成排序的块II
- How to Convert and Import VHD to VMDK (VMWare)
- 8、Python语法之流程控制
- 剑指29:最小的k个数
- 记载idea创建spring-boot项目时“Spring Initalizr Error”的问题处理
- vite 搭建Vue3.0项目
- 【JVM第四篇--运行时数据区】堆
- ceph客户端服务端属性匹配关系