В программе на си есть команды:
char I=-15;
printf ( «%x\n», I );
Я ожидал, что printf выведет на экран «f1», вместо этого получил «fffffff1».
Это ошибка, или так и предусмотрено стандартом си?
Сколько реально байт занимает переменная I: 1 или 4?
Что сделать, чтобы 1- и 2-байтные переменные выводились в шестнадцатеричном виде в виде 2- и 4-значных чисел соответственно?
Заранее спасибо.