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

设定short型长度为2。
1 short转字节数组
short型转字节数组byte[]或者unsigned char[]
void ShortToBytes(short value, unsigned char* bytes)
{
size_t length = sizeof(short);
memset(bytes, 0, sizeof(unsigned char) * length);
bytes[0] = (unsigned char)(0xff & value);
bytes[1] = (unsigned char)((0xff00 & value) >> 8);
return;
}
2 字节数组转short
字节数组byte[]或者unsigned char[]转short型
short BytesToShort(unsigned char* bytes)
{
short value = bytes[0] & 0xFF;
value |= ((bytes[1] << 8) & 0xFF00);
return value;
}
3 使用示例
#include <iostream>
void ShortToBytes(short value, unsigned char* bytes)
{
size_t length = sizeof(short);
memset(bytes, 0, sizeof(unsigned char) * length);
bytes[0] = (unsigned char)(0xff & value);
bytes[1] = (unsigned char)((0xff00 & value) >> 8);
return;
}
short BytesToShort(unsigned char* bytes)
{
short value = bytes[0] & 0xFF;
value |= ((bytes[1] << 8) & 0xFF00);
return value;
}
int main()
{
unsigned char shortByteArray[2];
short a = 10;
ShortToBytes(a, shortByteArray);
std::cout << BytesToShort(shortByteArray) << std::endl;
return 0;
}
当前分类随机文章推荐
- C++11 - 封装std::thread,增加子线程启动、暂停、唤起、停止功能 阅读3687次,点赞7次
- C++STL容器 - std::vector元素访问方式总结 阅读629次,点赞0次
- C++ - 只有在Debug模式下才使用std::cout输出调试日志,Release发布版本不输出调试日志 阅读3905次,点赞0次
- C++ - Windows下字符串UTF8编码转ANSI,ANSI转UTF8编码 阅读241次,点赞0次
- C++ - 在两个互有依赖关系的类中使用std::shared_ptr和std::weak_ptr进行内存管理 阅读476次,点赞0次
- C++ - GBK编码下的全角字符转半角字符 阅读1364次,点赞0次
- C++11/std::shared_ptr - 循环引用问题 阅读3853次,点赞0次
- C++ - RAII机制 阅读142次,点赞0次
- C++11 - 使用std::thread::join()/std::thread::detach()方法需要注意的点 阅读2466次,点赞0次
- C++11 - 使用std::thread在类内部以成员函数作为多线程函数执行异步操作 阅读1917次,点赞0次
全站随机文章推荐
- Python - opencv-python统计一个文件夹以及所有子文件夹下所有视频的帧率和帧数 阅读92次,点赞0次
- Pytorch - RuntimeError: No rendezvous handler for env://错误 阅读525次,点赞0次
- WPF - 代码动态更换按钮的背景图片 阅读2890次,点赞0次
- 计算机图形学 - 常用的3D数学知识备忘,如三角函数、向量运算、矩阵运算、图形学常用的平移缩放旋转矩阵,视图矩阵,投影矩阵 阅读1011次,点赞3次
- 资源分享 - Graphics Gems II 英文高清PDF下载 阅读1854次,点赞0次
- Python - opencv-python保存视频时出现Failed to load OpenH264 library: openh264-1.8.0-win64.dll错误 阅读653次,点赞0次
- 资源分享 - C++并发编程实战(Anthony Williams著 中文译文版)PDF下载 阅读3290次,点赞0次
- 资源分享 - 全局光照算法技术 第2版 , Advanced Global Illumination 2nd Edition 中文版PDF下载 阅读1497次,点赞1次
- C++ – UTF8编码下的全角字符转半角字符 阅读1418次,点赞0次
- WordPress - 应对暴力破解登录和规避DDOS的几种方法 阅读2097次,点赞0次
评论
164