21xrx.com
2024-12-22 19:25:07 Sunday
登录
文章检索 我的文章 写文章
C++将int转换为字节数组
2023-07-07 16:06:22 深夜i     --     --
C++ int 转换 字节数组

C++是一门非常强大的编程语言,它可以处理各种类型的数据。在处理数据的过程中,有时需要将整数类型转换为字节数组,这样可以方便地存储和传输数据。

下面介绍一种将int类型转换为字节数组的方法:

1. 定义一个int类型的变量,并赋值。


int num = 123;

2. 定义一个长度为4的unsigned char类型的数组。


unsigned char bytes[4];

3. 使用memcpy函数将int类型转换为字节数组。


memcpy(bytes, &num, 4);

其中,memcpy函数的第一个参数为目标数组,第二个参数为源地址,第三个参数为复制的字节数。

4. 打印转换后的字节数组。


for(int i=0; i<4; i++){

  cout << hex << (int)bytes[i] << " ";

}

在打印字节数组的时候,可以使用十六进制的形式输出,方便查看每个字节的值。

完整的代码如下:


#include <iostream>

#include <cstring>

using namespace std;

int main(){

  int num = 123;

  unsigned char bytes[4];

  memcpy(bytes, &num, 4);

  for(int i=0; i<4; i++){

    cout << hex << (int)bytes[i] << " ";

  }

  return 0;

}

输出结果为:


7b 0 0 0

可以看出,123的二进制表示为01111011,转换成字节数组后得到的结果为7b 0 0 0。其中,7b为最低位的字节,即Little-Endian(小端字节序)的表示方法。

总之,将int类型转换为字节数组是C++中的常见操作之一。代码实现简单,可以方便地处理数据存储和传输问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复