C++怎么实现BitConverter.GetBytes的效果
时间: 2023-07-15 19:10:04 浏览: 184
进制转换的C++实现方法
C++ 中可以使用位运算与字节指针来实现类似于 C# 中 BitConverter.GetBytes 的效果。下面是一个示例代码:
```c++
#include <iostream>
#include <cstring>
void GetBytes(int value, char* bytes)
{
for (int i = 0; i < sizeof(int); i++)
{
bytes[i] = (value >> (i * 8)) & 0xFF;
}
}
int main()
{
int value = 0x12345678;
char bytes[sizeof(int)] = {0};
GetBytes(value, bytes);
for (int i = 0; i < sizeof(int); i++)
{
std::cout << std::hex << (int)bytes[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
在上面的代码中,GetBytes 函数接受一个整数值和一个指向字符数组的指针,函数将整数值转换为字节数组,并将结果存储在字符数组中。在 for 循环中,我们使用位运算和掩码 0xFF 将整数值的每个字节提取出来,并存储在字符数组中。最后,我们通过循环遍历字符数组并打印每个字节的十六进制值来验证 GetBytes 函数的正确性。
阅读全文