Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.007 c
3-81185
Octav
2002-07-04 19:23
2002.07.25
Blob


14-81441
shubin
2002-06-27 16:24
2002.07.25
Нужен компонентик


1-81248
nwc_eminem
2002-07-14 18:20
2002.07.25
Как записать в реестор значение параметра


14-81485
Sergo
2002-06-26 17:07
2002.07.25
AVI


1-81300
Alex_win
2002-07-11 14:51
2002.07.25
графика поворот изображения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский