uint16_t转vector<uint8_t>
时间: 2024-10-19 10:02:43 浏览: 19
c++ std::invalid_argument应用
5星 · 资源好评率100%
将 `uint16_t` 类型转换成 `std::vector<uint8_t>` 的过程通常涉及到将16位无符号整数拆分为两个8位字节。如果你有一个单个的 `uint16_t` 变量,你可以通过按位操作将其分解为两部分:
```cpp
#include <vector>
#include <cstdint>
// 假设有个 uint16_t 变量叫 value
std::vector<uint8_t> uint16_to_vector(uint16_t value) {
std::vector<uint8_t> result(2); // 创建一个包含2个元素的向量
result[0] = static_cast<uint8_t>(value & 0xFF); // 将低8位赋值给第一个元素
result[1] = static_cast<uint8_t>((value >> 8) & 0xFF); // 将高8位右移并取低8位赋值给第二个元素
return result;
}
```
这里,我们首先创建了一个长度为2的向量来存储结果,然后通过位运算符 & 和 >> 分别提取出16位整数的低8位和高8位,并将它们转换为 `uint8_t` 类型。
阅读全文