Я создаю программу на C, которая может получить степень 2
. Пользователь вводит значение n
, и программа вычисляет 2^n
.
Вот код.
Проблема возникает, когда я ввожу 100
Что я получаю:
1,267,650,600,228,229,400,000,000,000,000
Что я должен получить
1,267,650,600,228,229,401,496,703,205,376
Он должен быть полностью написан на ANSI C. Есть идеи, как повысить точность? Максимальное значение N
должно быть 256
(256 бит, я полагаю, что означает, что максимальный выход должен быть 2^256
).
Чего мне здесь не хватает, так это точности, и я не знаю, как это исправить. Любые идеи?
bignum
решение. Информацию о том, что это такое, можно найти в википедии: en.wikipedia.org/wiki/Arbitrary-precision_arithmetic - person lnafziger   schedule 01.11.2012[long] double
типах, которые не подходят для этой целочисленной задачи. - person Jim Balter   schedule 01.11.2012