当前位置: 首页 > news >正文

C语言中float byte char uint_8 转换方法

1.float转Byte[]  

#include <stdio.h>int main() {float floatValue = 3.141592; // 浮点数值// 存储到字节数组unsigned char *byteArr = (unsigned char *)&floatValue;// 打印字节数组for (int i = 0; i < sizeof(float); i++) {printf("Byte %d: 0x%02X\n", i, byteArr[i]);}return 0;
}

2.byte[]转float

#include <stdio.h>int main() {unsigned char byteArr[sizeof(float)]; // 字节数组// 假设 byteArr 中包含了 float 的字节数组表示float floatValue;// 将字节数组转换为 floatif (sizeof(float) == sizeof(byteArr)) {memcpy(&floatValue, byteArr, sizeof(float));} else {printf("字节数组的大小不匹配\n");// 错误处理}// 现在 floatValue 包含了从字节数组还原的 float 值printf("还原的浮点数:%f\n", floatValue);return 0;
}

3.char *  uint8_t * 相互转换代码

#include <stdio.h>
#include <stdint.h>int main() {unsigned char byteArr[4] = {0x01, 0x02, 0x03, 0x04};// 使用类型转换将 unsigned char * 转换为 uint8_t *uint8_t *uint8Arr = (uint8_t *)byteArr;// 现在 uint8Arr 就指向了与 byteArr 相同的内存位置for (int i = 0; i < 4; i++) {printf("uint8Arr[%d]: 0x%02X\n", i, uint8Arr[i]);}return 0;
}

4.int 转换同理

    int intValue=10000;unsigned char* intArr=(unsigned char*)&intValue;printf("int value: %d\n",intValue);for (int i = 0; i < sizeof(int); i++) {printf("byte %d 0x%02x\n",i,intArr[i]);}int convInt;memcpy(&convInt,intArr, sizeof(int ));printf("int convert %d",convInt);

5.数字转字符串

    int num = 99;char str[10]; // 创建一个足够大的字符数组来存储数字的字符串表示sprintf(str, "%d", num); // 使用 sprintf 将整数转换为字符串printf("convert str: %s\n", str);for (int i = 0; i < 10; i++) {printf("byte %d  0x%02x\n", i,str[i]);}

6.字符串转int

#include <stdio.h>
#include <stdlib.h>int main() {char str[] = "3.141592";double num = atof(str); // 将字符串转换为浮点数printf("转换后的浮点数:%f\n", num);return 0;
}
    char str[] = "42 3.141592";int num;double pi;// 使用 sscanf 从字符串中提取整数和浮点数sscanf(str, "%d %lf", &num, &pi);printf("提取的整数:%d\n", num);printf("提取的浮点数:%f\n", pi);

http://www.lryc.cn/news/214499.html

相关文章:

  • 瑞明达:脚踏实地,为实体经济贡献“瑞明达”力量
  • ChatGPT-自然语言处理模型
  • Apache Dolphinscheduler如何不重启解决Master服务死循环
  • 绝对好用!一个浏览器插件解决跨设备同步问题,吊打文件传输助手!
  • 阿昌教你如何优雅的数据脱敏
  • 力扣每日一题80:删除有序数组中的重复项||
  • SQL——插入已经存在的数据
  • 【网络安全 --- 任意文件上传漏洞靶场闯关 6-15关】任意文件上传漏洞靶场闯关,让你更深入了解文件上传漏洞以及绕过方式方法,思路技巧
  • 阿里云2核2G3M云服务器99元/年,新老同享,续费不涨价!
  • UWB 技术在机器人和移动领域的应用题】
  • 11.1 知识总结(JavaScript)
  • 【Java 进阶篇】Java Web开发:实现验证码功能
  • C++启动线程的方法
  • Distilling the Knowledge in a Neural Network学习笔记
  • JVM虚拟机:垃圾回收算法和垃圾回收器之间的关系
  • oracle sqlplus的使用 ,查询oracle实例名和服务名,查询oracle容器,切换oracle容器
  • golang工程——opentelemetry简介、架构、概念、追踪原理
  • Python 自动化(十六)静态文件处理
  • C#学习系列之密闭类、接口、结构和类
  • C++特殊类的设计
  • 量化交易Copula建模应对市场低迷
  • 美创科技位居IDC MarketScape:中国数据安全管理平台市场「领导者」类别
  • Go语言变量的使用
  • 在vitis中bit位赋值如何优化到一拍完成
  • 深度学习入门(二)之 简单手写数字识别实现
  • USART HMI串口屏+单片机通讯上手体验
  • Linux进程概念(1)
  • uniapp 查看安卓第三方插件抛出的异常
  • 美妆造型教培服务预约小程序的作用是什么
  • Pytorch常用函数