使用动态 C 程序(语言是 C),我试图将 int 转换为 4 位长的字节数组。到目前为止,我在网上查了一些例子。但是,似乎没有一个对我有用。我遇到了一个持续的问题,即打印了正确的字节数,但由于某种原因它们重复了两次。我提供了以下代码:
void main(){
int a=1379;
int i=0;
unsigned char value [4];
value[3] = (byte) (a & (0xFF));
value[2] = (byte) ((a >> 8) & 0xFF);
value[1] = (byte) ((a >> 16) & 0xFF);
value[0] = (byte) ((a >> 24) & 0xFF);
//convert int values to bytes by placing them in a char buffer
for(i=0;i<4;i++){
printf("%d",value[i]);
printf(", ");
}
printf("\n");
}
例如,使用此值,程序会打印“5, 99, 5, 99”,而它应该打印“0, 0, 5, 99”。感谢您的帮助。