【发布时间】:2011-12-19 22:30:15
【问题描述】:
我需要在位层将整数值转换为字符数组。假设 int 有 4 个字节,我需要将它分成 4 个长度为 1 字节的块作为 char 数组。
例子:
int a = 22445;
// this is in binary 00000000 00000000 1010111 10101101
...
//and the result I expect
char b[4];
b[0] = 0; //first chunk
b[1] = 0; //second chunk
b[2] = 87; //third chunk - in binary 1010111
b[3] = 173; //fourth chunk - 10101101
我需要这种转换非常快,如果可能的话没有任何循环(可能是一些位操作的技巧)。目标是在一秒钟内完成数千次此类转换。
【问题讨论】:
-
字节数组和整数的联合有什么问题?
-
不要同时标记 C 和 C++。 重要 您正在编写代码。C++ 包含显着的内存别名等额外限制。
-
对不起标签,我删除了
C,我在C++项目中需要它。
标签: c++