Главная страница
    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.008 c
3-81124
Boss_em
2002-06-26 18:04
2002.07.25
Указатель текущей записи, использование Table


14-81477
SashaK
2002-06-28 20:20
2002.07.25
помогите написать снифер


14-81457
igorr
2002-06-27 09:31
2002.07.25
Прерывания


7-81496
Fredericco
2002-05-07 13:28
2002.07.25
Интересный вопрос по организации ма-а-аленькой телефонной станции


1-81222
Doctor Deejay
2002-07-13 17:13
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский