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

Почему выдается неправильный результат при операциях c long int в Си?

#include <stdio.h>

int main()
{
    unsigned long long d,e,f;
    printf("%d\n", sizeof(f));

    d = 100000;
    e = 100000;
    f = d * e;
    printf("%d %d %d\n", d, e, f);
}

результат
8
100000 100000 1410065408

Ведь 8 байт это 64 бита
2^64~16*(1000)^6 =16*10^18
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Проблема в выводе. Вы пытаетесь вывести переменную unsigned long long через спецификатор "%d". Надо использовать "%llu" какой-нибудь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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