重複の可能性:
int を 4 バイトの char 配列に変換する (C)
Dynamic C プログラム (言語は C) を使用して、int を 4 桁の長さのバイト配列に変換しようとしています。これまでのところ、オンラインで調べたところ、いくつかの例が見つかりました。しかし、どれも私にはうまくいかないようです。正しいバイト番号が出力されるという継続的な問題が発生しましたが、何らかの理由でそれらが 2 回繰り返されます。以下のコードを提供しました。
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");
}
たとえば、この値を使用すると、プログラムは "0, 0, 5, 99" を出力すべきときに "5, 99, 5, 99" を出力します。ご協力ありがとうございました。