Re: преобразование типов
От: saf_e  
Дата: 01.03.13 11:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день!

А>читаю файл по 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;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.