这个函数能够将uint32_t 类型的数据转为vector<uint8_t>,是否正确,void Convert_32Bits_To_8Bits(vector<uint8_t>& Des,uint32_t nNum) { Des.push_back(nNum >> 0); Des.push_back(nNum >> 18); Des.push_back(nNum >> 28); Des.push_back(nNum >> 3*8); }
时间: 2024-03-21 20:43:25 浏览: 17
这个函数是不正确的。它将32位的数据分为4个部分,每个部分只取了部分位数,然后将它们分别存储在了vector中。但是这样存储的顺序是错误的,应该是按照从低位到高位的顺序存储。同时,这个函数只能处理32位的数据,而不能处理其他位数的数据。正确的实现应该是:
```
void Convert_32Bits_To_8Bits(vector<uint8_t>& Des,uint32_t nNum) {
Des.push_back(nNum & 0xFF);
Des.push_back((nNum >> 8) & 0xFF);
Des.push_back((nNum >> 16) & 0xFF);
Des.push_back((nNum >> 24) & 0xFF);
}
```
这个函数将32位的数据按照从低位到高位的顺序,分为4个部分,每个部分都取了8位,并且将它们存储在vector中。这个函数可以处理任何32位的数据。
相关问题
vector<uint8_t>怎么转换成vector<int32_t>
可以使用std::transform函数将vector<uint8_t>转换成vector<int32_t>,示例代码如下:
vector<uint8_t> vec1 = {1, 2, 3, 4};
vector<int32_t> vec2(vec1.size());
std::transform(vec1.begin(), vec1.end(), vec2.begin(), [](uint8_t val) {
return static_cast<int32_t>(val);
});
这里使用了lambda表达式将uint8_t类型的值转换成int32_t类型的值。
uint8数组转std::vector<uint8_t>
uint8数组转std::vector<uint8_t>可以通过以下方式实现:
1. 首先,创建一个uint8数组,数组的大小为n。
2. 然后,使用std::vector<uint8_t>的构造函数,将uint8数组的指针和指定的起始位置和结束位置作为参数,创建一个std::vector<uint8_t>对象。
下面是具体的代码示例:
```cpp
// 假设有一个uint8数组arr和数组大小n
uint8_t arr[n] = {1, 2, 3, 4, 5};
// 将uint8数组转换为std::vector<uint8_t>
std::vector<uint8_t> vec(arr, arr + n);
```
这样,你就可以将一个uint8数组转换为std::vector<uint8_t>了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)