相关疑难解决方法(0)

将int转换为4字节char数组(C)

嘿,我正在寻找将用户输入的int转换为4个字节,我将其分配给字符数组.如何才能做到这一点?

例:

将用户输入175转换为

00000000 00000000 00000000 10101111


到目前为止所有答案的问题,转换255应该导致0 0 0 ff尽管它打印出来:0 0 0 ffffffff

unsigned int value = 255;   

buffer[0] = (value >> 24) & 0xFF;
buffer[1] = (value >> 16) & 0xFF;
buffer[2] = (value >> 8) & 0xFF;
buffer[3] = value & 0xFF;

union {
    unsigned int integer;
    unsigned char byte[4];
} temp32bitint;

temp32bitint.integer = value;
buffer[8] = temp32bitint.byte[3];
buffer[9] = temp32bitint.byte[2];
buffer[10] = temp32bitint.byte[1];
buffer[11] = temp32bitint.byte[0];
Run Code Online (Sandbox Code Playgroud)

两者都导致0 0 0 ffffffff而不是0 …

c

67
推荐指数
3
解决办法
17万
查看次数

标签 统计

c ×1