博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BYTE* To Float*
阅读量:5898 次
发布时间:2019-06-19

本文共 844 字,大约阅读时间需要 2 分钟。

char c = *(char*)pByte;

short shrt = *(short*)(pByte+1);
long lng = *(long*)(pByte+3);
float flt = *(float*)(pByte+7);
string str = (char*)(pByte+11);

 

JohnEx:

You are not converting char to float; rather you are interpreting a sequence of 4 bytes as a float. Not the same thing at all. There is no need to first interpret the sequence of bytes as a string, or to use memcpy.
You have a BYTE stream, say pByte (a BYTE*), and the float value is at positions 7 through 10
float f = *(float*)(pByte+7);
Similarly for the other values
char c = *(char*)pByte;
short shrt = *(short*)(pByte+1);
long lng = *(long*)(pByte+3);
float flt = *(float*)(pByte+7);
string str = (char*)(pByte+11);
(assuming the string part is correctly null-terminated). I would write a single function to write these values into a struct, so the rest of the code can be clean.

转载地址:http://fexsx.baihongyu.com/

你可能感兴趣的文章
thinkphp里的session、cookie方法
查看>>
CentOS安装PHP7+Nginx+MySQL
查看>>
考虑与Maya结合
查看>>
11月25日
查看>>
ELKF安装使用教程。elasticsearch+logstash+kibana+filebeta。
查看>>
mybatis学习之一 开发环境配置和接口编程
查看>>
SqlDataAdapter DataSet DataTable 详解
查看>>
Android Xutils 框架
查看>>
为已经存在的本地项目添加git,以及从远程仓库拉取代码并切换远程分支
查看>>
在博客添加网页背景动画效果,跟随鼠标移动的线条
查看>>
JavaSE相关面试题
查看>>
编码问题
查看>>
libvirtd: initialization failed解决(附libvirt其它错误解决办法) ...
查看>>
ubuntu取消任务栏上的快捷图标 分类: ubuntu学习 ...
查看>>
读写锁
查看>>
JAVA大数据数组排序
查看>>
《陆小凤传奇》
查看>>
2017 Multi-University Training Contest - Team 5
查看>>
laravel更新时区:
查看>>
JSP 基础知识
查看>>