[c] странности при сдвиге short-а?
в с такие операции вроде как меньше чем над интом не производятся — все аргументы превращаются сначала в инты


это тебе к страуструпу надо — там такого накастят, мало не покажется =)
такиелюбые арифметические, называется расширения, да. Это обычно преподносит много сюрпризов.
т.е. там всякие
unsigned short x = 65535;
x = (x + 1) / 2;
assert( x == 32768 );
в с такие операции вроде как меньше чем над интом не производятся — все аргументы превращаются сначала в интыесли не ошибаюсь то это в большинстве языков так
в с такие операции вроде как меньше чем над интом не производятся — все аргументы превращаются сначала в интыне! это все верно.
но у него же еще один абстракшн лик есть в проге.
ден, надо шорты выводить %hx. printf(3).
у тебя прога тогда заработает без приведений типов.
судя по тексту, тебе с этим сдвигом ничего не надо делать кроме принтфа.
иначе ты бы его в переменную положил, как программист на языке со статической типизацией.
Оставить комментарий
apl13
Или я просто опять чего-то не понимаю? o_0