Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

Количество знаков у числа пи   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
3-81181
alexvan
2002-07-04 11:10
2002.07.25
Не могу вывести в DBComboBox весь список


14-81478
kito
2002-06-27 13:34
2002.07.25
Есть ли компонент, чтобы в DBGrid отображать данные в виде дерева


14-81446
Scooter
2002-06-27 15:52
2002.07.25
Народ, если поможете, буду очень благодарен!!


3-81140
kires
2002-07-02 14:59
2002.07.25
русский текст


8-81389
Vvedensk
2002-03-15 14:23
2002.07.25
Как увеличить изображения с малой потерью качества подобно таму как это делает PhotoShop