Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизКоличество знаков у числа пи Найти похожие ветки
← →
olookin (2002-07-13 09:11) [0]Уважаемые господа!
Вопрос в следующем: как получить например 100 первых разрядов у числа пи, и вывести их все в виде строки?
Заранее благодарен...
← →
doroshka (2002-07-13 10:44) [1]Если их надо просто получить - то вот:
http://3.141592653589793238462643383279502884197169399375105820974944592.jp/
;-)
Там знаков столько, на сколько хватит терпения :))
← →
TTCustomDelphiMaster (2002-07-13 10:45) [2]Найди в интернете на математических сайтах. Думаю, где нибудь оно должно быть.
Ну а если хочешь сам посчитать, то к твоему сведению существуют числовые ряды, суммы которых равны константам. Например сумма ряда (-1)^(k-1) / (2k-1) равна PI/4,
Где k равно от 1 до бесконечности, а значек ^ - степень.
Только в паскале нет таких типов, с помощью которых можно посчитать число до 100 знаков после запятой. Тебе придется создать свой тип, который будет точно отображать числас несколькими сотнями знаков до и после запятой и написать для него процедуры сложения, вычитания, деления и умножения.
Потом придется долго ждать, пока k достигнет такой величины, что перестанет влиять на сто первый знак после запятой. Тогда ты получишь число с точностью до сотого знака.
← →
olookin (2002-07-13 11:40) [3]Спасибо, но я не то спрашивал. Типы в Дельфи ограничены и точность там страдает - это известно. Вопрос в том, как отобразить тесктом (переменной string) число с большим кол-вом знаков. Иными словами, если такое форматирование числа в строку, которое не обрезает знаки. Например, Format и FloatToStr обрезают.
Спасибо еще раз.
← →
Anatoly Podgoretsky (2002-07-13 11:47) [4]Используй FloatToStrF получишь все 18 знаков для Extended
← →
Юрий Зотов (2002-07-13 12:16) [5]> Типы в Дельфи ограничены...
Как и в любом другом языке. Кстати, именно в Delphi набор стандартных типов богат и включает все необходимое. А учитывая возможность создания произвольных собственных типов, можно утверждать обратное - "типы в Дельфи НЕ ограничены".
> ...и точность там страдает
Снова - как и в любом другом языке. И не в языках дело. Видите ли, память компьютера имеет конечный размер, поэтому в нее нельзя записать даже одно число с бесконечным количеством знаков. "Нельзя объять необъятное". (C) Козьма Прутков.
> такое форматирование числа в строку, которое не обрезает
> знаки. Например, Format и FloatToStr обрезают.
При чем тут форматирование? САМО число УЖЕ хранится в обрезанном виде. Потому что под него всегда отводится определенное количество байт памяти. Сколько знаков там помещается - столько и можно преобразовать в строку, не более.
Короче говоря, чтобы 100 знаков числа Пи вывести в строку, их сначала надо получить. Причем стандартная функция Pi их, естественно, не даст, надо использовать один из множества известных алгоритмов вычисления. И ни в коем случае не пытаться хранить вычисляемое число в переменной любого стандартного арифметического типа, иначе оно ВСЕГДА будет обрезано. Либо создавайте для хранения результата свой собственный тип, либо храните его прямо в строке, дописывая в ее конец каждый новый знак сразу после его получения.
← →
olookin (2002-07-13 12:32) [6]Вот теперь все понятно (благодаря Юрию Зотову). Вопрос снят. Спасибо.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c