C++ – 字节数组byte[]或者unsigned char[]与short的相互转换
设定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;
}
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++ – 字节数组byte[]或者unsigned char[]与short的相互转换
原文链接:https://www.stubbornhuang.com/2030/
发布于:2022年03月13日 8:13:22
修改于:2023年06月26日 20:28:43
当前分类随机文章推荐
- C++ - std::string输出双引号到字符串 阅读3964次,点赞0次
- C++ - 字节数组byte[]或者unsigned char[]与int的相互转换 阅读8524次,点赞2次
- C++11 - std::shared_ptr初始化的几种方式 阅读7505次,点赞2次
- C++ - std::unordered_map中使用结构体或者vector等复杂的数据结构作为Key值 阅读1336次,点赞0次
- C++11 - 基于无锁队列的单生产者单消费者模型 阅读6748次,点赞1次
- C++STL容器 - std::map删除指定元素 阅读2607次,点赞0次
- C++ - 格式化json字符串,方便展示json字符串的层次结构 阅读3936次,点赞0次
- C++ - 判断两个字符串是否相等方法总结 阅读788次,点赞0次
- C++ - 在某一天某个时间点定时执行任务,比如2022年9月19日晚上9点准点执行发送邮件函数 阅读825次,点赞0次
- C++11 - 快速学会正则表达式 阅读1652次,点赞2次
全站随机文章推荐
- Php - 获取用户的ip地址、操作系统、浏览器类型、入口页地址、当前访问页面地址等信息 阅读62次,点赞0次
- WordPress - 获取某个用户发表的文章数量 阅读2274次,点赞0次
- 工具网站推荐 - 一些好用的latex公式识别工具和网站 阅读159次,点赞0次
- C++ - 令人迷惑的const关键字 阅读106次,点赞0次
- OnnxRuntime – 模型部署笔记2,在Visual Studio中配置Onnx Rumtime C++开发环境 阅读730次,点赞0次
- C++ - const_cast, static_cast, dynamic_cast, reinterpret_cast四种cast转换的区别和使用 阅读109次,点赞0次
- Ubuntu – 安装高版本的gcc/g++,多版本切换以及配置环境 阅读73次,点赞0次
- Pytorch - torch.stack参数详解与使用 阅读1188次,点赞0次
- ThreeJS - 直接设置Fbx模型的某个关节的位移和旋转值 阅读2007次,点赞0次
- 资源分享 – OpenGL SuperBible - Comprehensive Tutorial and Reference (Sixth Edition) OpenGL蓝宝书第6版英文高清PDF下载 阅读2235次,点赞0次
评论
169