Здравствуйте, Аноним, Вы писали:
А>Добрый день!
А>читаю файл по 2 байта. их нужно интерпретировать как целое число со знаком
А>написал примерно так
А>char c[2];
А>int n;
А>union {
А> char ci[2];
А> int k;
А>} y1;
А>........
А>fi=fopen(....);
А>fread(c,2,1,fi);
А>y1.ci[0]=c[0];
А>y1.ci[1]=c[1];
А>n=y1.k;
А>так вот, в n всегда положительное число!
А>отладчик кажет в y1.k (например) -1, при этом ci[0]=0xff , ci[1]=0xfe
А>а при этом n=65537.
А>Как мне в n получить "-1" ?
union {
char ci[sizeof(short)];
short k;
} y1;