большие числа в с++

Компьютеры программирование программы с++

на входе задается n: 0<n<1000, нужно вывести 2^n. При n=72 число 4722366482869645213696 обрезается до 4722366482869645200000. Как исправить?
использовать решил long double на выводе printf("%.0Lf",<результат>);

Примечание:
я пробовал делать пргрм которая просто читает вход и пишет тоже самое на выход, но даже там дав на входе 4722366482869645213696 я получаю 4722366482869645200000.Почему?
п.с.не так давно начал изучать с++

Примечание:
там тоже использовал long double

Примечание:
при любом числе в котором более 17 цифр все после 17-й заполняются нулями?
Ответы:
>я пробовал делать пргрм которая просто читает вход и пишет тоже самое на выход, но даже там дав на входе 4722366482869645213696 я получаю 4722366482869645200000.Почему?
Потому, что арифменика с плавающей точкой имеет ограниченную точность.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.