c++ - 从数组中读取 2x 个字符作为短字符?

标签 c++ arrays byte bit

为什么以下不将这两个字符解释为一组 16 位?

char c[2];
c[0] = 2;
c[1]= 2;
short a = short(c[0]);

我想要两个一起读取数组的所有 16 位吗?最快(延迟)的方法是什么?

最佳答案

您必须写入实际的短片。你可以这样做:

short a;
unsigned char * p = reinterpret_cast<unsigned char *>(&a);

p[0] = 2;
p[1] = 2;

关于c++ - 从数组中读取 2x 个字符作为短字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24687688/

相关文章:

c++ - 在数字的第一个符号处拆分字符串的快速方法

java - 找不到 arrayindexoutofbounds 错误

c++ - pArray = pArray + 1;有人可以向我解释这如何在 C++ 中增加数组吗?

c - 按 n 字节屏蔽

c++ - QTCPSocket(Qt-C++)中逐字节传输音频文件

c++ - 如何修复 opencv 的慢 kmeans

c++ - 如何创建和使用类型为 "customClass"的列表

c++ - QSystemTrayIcon 和 Windows8

arrays - Julia:不同类型的数组

c# - 将字节数组写入 C#.NET 中现有文件的中间