Задать вопрос
dmitry_dev33
@dmitry_dev33

Почему при выводе на экран через форматы %d и %u получаются числа -14 и 4294967282?

Почему именно эти числа?
char c = 1010;
	printf("\n%d\n", c);
	printf("\n%u\n", c);
  • Вопрос задан
  • 174 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
101010 = 3F216, значит в char запишется F216
Когда вы пробуете печатать как целое число, то значение приводится к типу int, соответственно получается FFFFFFF216
Как знаковое (%d), значение FFFFFFF216 = -1410
Как беззнаковое (%u), FFFFFFF216 = 429496728210
Ответ написан
@khrisanfov
Программист
В char нельзя записать число больше 255, вот и получается не пойми что.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы