C++ – 字节数组byte[]或者unsigned char[]与double的相互转换
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++ – 字节数组byte[]或者unsigned char[]与double的相互转换
原文链接:https://www.stubbornhuang.com/2034/
发布于:2022年03月14日 20:06:45
修改于:2022年03月14日 22:20:02

设定double型字节长度为8。
1 double转字节数组
double型转字节数组byte[]或者unsigned char[]
void DoubleTobytes(double data, unsigned char bytes[])
{
size_t length = sizeof(double);
char* p = (char*)&data;
for (int i = 0; i < length; i++)
{
bytes[i] = *p++;
}
}
2 字节数组转double
字节数组byte[]或者unsigned char[]转double型
double BytesToDouble(unsigned char bytes[])
{
double data = *((double*)bytes);
return data;
}
3 使用示例
#include <iostream>
double BytesToDouble(unsigned char bytes[])
{
double data = *((double*)bytes);
return data;
}
void DoubleTobytes(double data, unsigned char bytes[])
{
size_t length = sizeof(double);
char* p = (char*)&data;
for (int i = 0; i < length; i++)
{
bytes[i] = *p++;
}
}
int main()
{
unsigned char doubleByteArray[8];
double a = 10.0;
DoubleTobytes(a, doubleByteArray);
std::cout << BytesToDouble(doubleByteArray) << std::endl;
return 0;
}
当前分类随机文章推荐
- C++ - 线程安全的std::cout 阅读932次,点赞0次
- C++11 - 使用std::thread在类内部以成员函数作为多线程函数执行异步操作 阅读719次,点赞0次
- C++STL容器 – std::vector容器修改、元素操作总结 push_back,emplace_back,emplace,insert,erase,pop_back,clear,resize,swap 阅读212次,点赞1次
- C++STL容器 - std::vector元素访问方式总结 阅读130次,点赞0次
- C++11/std::condition_variable - 生产者消费者模型 阅读1968次,点赞0次
- C++ - 将Unicode std::wstring字符串转换为Unicode std::string转义字符,类似于\uxxxx的形式 阅读389次,点赞0次
- C++ - 常用的C++命令行参数解析第三方库 阅读78次,点赞0次
- C++STL容器 - std::vector构造方式与分配值方式总结 阅读126次,点赞0次
- C++11/std::thread - 线程的基本用法 阅读2244次,点赞0次
- C++11/std::atomic - 原子变量(不加锁实现线程互斥) 阅读3821次,点赞1次
全站随机文章推荐
- WordPress - 发送邮件很慢的解决办法 阅读62次,点赞0次
- Pac - OneDriver/OneNote Pac规则 阅读3870次,点赞3次
- 资源分享 - Digital Character Development - Theory and Practice , Second Edition 英文高清PDF下载 阅读621次,点赞0次
- 资源分享 – OpenGL Programming Guide (Ninth Edition) OpenGL红宝书英文第9版 英文高清PDF下载 阅读1138次,点赞1次
- UnrealEngine4 - error C4668: 没有将“_WIN32_WINNT_WIN10_TH2”定义为预处理器宏,用“0”替换“#if/#elif 阅读2826次,点赞0次
- Duilib - Label控件文本换行 阅读407次,点赞0次
- WordPress - get_header函数,加载主题头部header模板 阅读156次,点赞0次
- 资源分享 – OpenGL SuperBible - Comprehensive Tutorial and Reference (Sixth Edition) OpenGL蓝宝书第6版英文高清PDF下载 阅读942次,点赞0次
- Mediapipe – 将Mediapipe HolisticTracking封装成动态链接库dll/so,实现在桌面应用中嵌入全身关节点识别、手势识别、抬手放手检测识别功能 阅读1396次,点赞5次
- 如何选择一块合适的用于深度学习的GPU/显卡 阅读803次,点赞0次
评论
144