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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
50