Re[2]: преобразование типов
От: 2hands  
Дата: 01.03.13 11:45
Оценка:
Здравствуйте, saf_e, Вы писали:

_>Здравствуйте, Аноним, Вы писали:


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

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