@undying234

В C не могу выйти за диапазон от -2147483648 до 2147483647, используя разные типы данных. Как исправить?

Почему-то диапазон для int, long int, long long, unsigned int одинаковый и составляет от от -2147483648 до 2147483647.
Вот код для примера:
#include <stdlib.h>
#include <stdio.h>

int main(void) {
    unsigned int sum = 2147483648;
    long long int sum1 = 2147483648;
    int sum2 = 2147483648;

    printf("%d", sum); //-2147483648
    printf("%d", sum1); //-2147483648
    printf("%d", sum2); //-2147483648

    getch();

    return EXIT_SUCCESS;
}

Во всех случаях выводит одно и тоже число. Как сделать так чтобы это корректно работало?
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
printf("%u", sum);
printf("%lld", sum1);
printf("%d", sum2);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы