簡體   English   中英

將所有向量元素讀取為 C++ 中的一個 integer

[英]Read all vector elements as one integer in C++

我有這個雙端隊列和這個向量:

std::deque<uint8_t> Time(3);
std::vector<uint8_t> deque_buffer(3);

我做了一些push_backs

Time.push_back(1);
Time.push_back(2);
Time.push_back(3);

我將數據復制到vector

for(int i=0; i<3; i++)
{
    deque_buffer.at(i) = Time.at(i);
}

我想讀取所有矢量數據並將其存儲到int中。 意思是我希望0x010203被解釋為66051 我該怎么做?

這是您可以執行的操作:(有關如何“合並”矢量元素的示例代碼)。

#include <iostream>
#include <vector> 
using namespace std;

int main()
{


    vector<unsigned char> vec = {1,2,3};
    int res = 0;

    for (const auto &val:vec)
    {
        res = (res << 8 ) | val;
    }

    printf ("0x%x\n",res);
    printf ("%d\n",res);
    return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM