1

(short int)の上位バイトと下位バイトの設定に問題があります。私のコードを見てください。番号 1 を返すだけですが、 55 を返す必要があります。

int number = 55;
int mynumber = 0;

//convert short int to char.
char upper = number >> 8;
char lower = number && 8;

//convert char to short int .
mynumber = (mynumber & 0xff00) | lower;
mynumber = (mynumber & 0x00ff) | (upper << 8);

printf("%i",mynumber);
4

1 に答える 1

4

lower計算が間違っています:

char lower = number & 0xff;
于 2012-12-16T10:17:32.097 に答える