c++ int 與 byte array 互轉


int to byte array 

#include <vector>
using namespace std;

vector<unsigned char> intToBytes(int paramInt) { vector<unsigned char> arrayOfByte(4); for (int i = 0; i < 4; i++) arrayOfByte[3 - i] = (paramInt >> (i * 8)); return arrayOfByte; }

byte array to int

#include <iostream>
#include <cstring>

int main() { unsigned char bytes[4] = { 0xdd, 0xcc, 0xbb, 0xaa }; int value; std::memcpy(&value, bytes, sizeof(int)); std::cout << std::hex << value << '\n'; }

 實例:

int intSize = 4;

    vector<unsigned char> arrayOfByte(4);
     for (int i = 0; i < 4; i++)
         arrayOfByte[3 - i] = (intSize >> (i * 8));

     byte byteSize[4] ={ arrayOfByte[3],arrayOfByte[2],arrayOfByte[1],arrayOfByte[0]};

    int size;
    std::memcpy(&size, byteSize, sizeof(int));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM