当前位置:首页 » 《随便一记》 » 正文

uart数据传输-float类型转为char类型和char类型转为float类型_niuqq123的博客

28 人参与  2022年04月06日 10:01  分类 : 《随便一记》  评论

点击全文阅读


uart数据传输-float类型转为char类型和char类型转为float类型

#include <iostream>
#include <vector>

using namespace std;

//由float类型转为char
void Float2Byte(vector<float> floatnum, unsigned char* byteArry)
{
	*byteArry = 0XAB;
	*(byteArry + 1) = 0XCD;

	for (int i = 0; i < sizeof(float); i++)
	{
		*(byteArry + 2 + i) = *((char*)&floatnum[0] + i);   //第一个float数据的首地址转为char类型的首地址
		*(byteArry + 6 + i) = *((char*)&floatnum[1] + i);   //第二个float数据的首地址转为char类型的首地址
		*(byteArry + 10 + i) = *((char*)&floatnum[2] + i);  //第三个float数据的首地址转为char类型的首地址
	}
	*(byteArry + 14) = 0XEF;
	*(byteArry + 15) = 0XCA;
}

//由char类型转为float
void Byte2Float(vector<float> &floatnum, unsigned char* byteArry)
{
	if((*byteArry == 0XAB) && (*(byteArry + 1) == 0XCD) && (*(byteArry + 14) == 0XEF) && (*(byteArry + 15) == 0XCA))
	{
		floatnum[0] = *(float*)(byteArry + 2);      //接收,反解出float数据类型
		floatnum[1] = *(float*)(byteArry + 6);
		floatnum[2] = *(float*)(byteArry + 10);
	}
}

//测试
int main()
{
	unsigned char* bArry = new unsigned char[16];    //定义长度为16char的指针。

	vector<float> num1 = {-12.51f, 10.12f, 45.01f};  //赋初值
	vector<float> num2 = {0,0,0};
	for (int i = 0; i < 10; i++)
	{
		Float2Byte(num1, bArry);                     //float类型转为char类型
		cout << "num1[0] = " << num1[0] << " " << "num1[1] = " << num1[1] << " " << "num1[2] = " << num1[2] << endl;

		Byte2Float(num2, bArry);                     //char类型转为float类型
		cout << "num2[0] = " << num2[0] << " " << "num2[1] = " << num2[1] << " " << "num2[2]= " << num2[2] << endl;
	}
	delete [] bArry;                                //释放内存
	return 0;
}

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/37426.html

类型  转为  地址  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 半堂花夜渡空城结局+番外(裴砚泽沈诺柠)_(半堂花夜渡空城结局+番外)列表_笔趣阁(裴砚泽沈诺柠)
  • (番外)+(全书)顾裴延江照璃(长叹雁归难留+后续+结局)_顾裴延江照璃免费列表_笔趣阁(长叹雁归难留+后续+结局)
  • 全书浏览九幽不渡卿结局+番外(孟卿卿谢昭远)_九幽不渡卿结局+番外(孟卿卿谢昭远)全书结局
  • 往梦难复温+后续+结局(沈淮霆宋思予)_(沈淮霆宋思予)往梦难复温+后续+结局列表_笔趣阁(沈淮霆宋思予)
  • 她在春日里沉眠书结局+番外优质全章(乔清瑜季泽珩)_她在春日里沉眠书结局+番外优质全章乔清瑜季泽珩
  • 往梦难复温+后续+结局(沈淮霆宋思予)结局_(沈淮霆宋思予往梦难复温+后续+结局全书结局)结局列表_笔趣阁(沈淮霆宋思予)
  • 「世子养花,自当娇贵」节选角色羁绊特辑‌_沈梨裴辞最新章节免费阅读
  • 江照璃的长叹雁归难留后续在线顾裴延江照璃全书在线
  • 捧一片星空删减内容修复版本(林溪傅迟宴),捧一片星空删减内容修复版本
  • (番外)+(完结)替身一边凉快去吧结局+番外(顾时宴云琳琅)_(替身一边凉快去吧结局+番外)列表_笔趣阁(顾时宴云琳琅)
  • 爱意泯灭时结局+番外(苏黎)_(爱意泯灭时结局+番外)列表_笔趣阁(苏黎)
  • 长叹雁归难留结局+番外(顾裴延江照璃)全顾裴延江照璃文结局_顾裴延江照璃+结局列表_笔趣阁(长叹雁归难留结局+番外)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1