Здравствуйте, 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;
_>
спасибо.