|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.01.2020, 13:14 | #1 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
Иррациональные числа, как вывести? Python
При возведении 2 в степень 0.5 (квадратный корень из двух) Python выводит 1.4142135623730951, тем самым сокращая иррациональное число, но для меня мало шестнадцати знаков после запятой, можно ли как-то увеличить вывод до какого-то конкретного числа?
P.S. я максимальный чайник, который что-то придумал, поясняйте точнее, если не трудно. |
18.01.2020, 16:15 | #2 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
Прочтите, в прикрепленном файле, пункт 2.2.2. Вещественные числа.
Как Python посчитает "0.1+0.2=?" Ответ: Цитата:
I am not a wizard, I am just learning.
|
|
18.01.2020, 17:32 | #3 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
То есть это не возможно?
|
18.01.2020, 18:03 | #4 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
По ссылке ниже, не плохая статья о представлении чисел с плавающей точкой в памяти компьютера:
>>Что нужно знать про арифметику с плавающей запятой<< Или вбейте в поиск "длинная арифметика" или "длинная арифметика в python". Округлять нужно, т. к. например 1 / 3 приведет к бесконечному числу и соответственно басконечному деленю числа до переполнения памяти.
I am not a wizard, I am just learning.
|
18.01.2020, 19:45 | #5 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
То есть все таки можно вывести сколько хочешь, единственный лимит это память?
|
18.01.2020, 20:11 | #6 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
Не только память. Есть ещё ограничения сред разработки.
Например Python автоматически округлит 1 / 3 таким образом: Цитата:
I am not a wizard, I am just learning.
|
|
19.01.2020, 14:23 | #7 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Просто - никак. Конкретизируйте задачу, что именно Вам нужно считать со столь высокой точностью
Если речь идёт только корне из двух, вопрос можно решить переходом к целым числам, но корень надо будет писать свой: Код:
Последний раз редактировалось Black Fregat; 19.01.2020 в 14:31. |
25.01.2020, 20:03 | #8 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
Классно, алгоритм работает, но почему-то только до 4000 символов, правда я не очень понял как именно он работает(
Меня не первый раз спрашивают о точности, но разве иррациональные числа никак по-другому не могут быть использованы? Задачу я сформулировал внятно, что-то вроде "выводить определённое количество знаков после запятой", а зачем, это уже совсем другое дело |
25.01.2020, 20:10 | #9 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
Black Fregat, если не сложно мог бы мне объяснить как работает твой код
|
25.01.2020, 21:56 | #10 |
Пользователь
Регистрация: 18.01.2020
Сообщений: 17
|
а, он делает больше 4000, просто грузит дольше
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Python] Дано натуральное число n. Найти все числа меньшие Мр числа Мерсенна. | Джина Ким | Помощь студентам | 0 | 18.05.2018 18:39 |
Delphi. Цикл While. Вывести целые числа от А до В, А вывести 1 раз, число А+1 вывести 2 раза и т.д. | schibeki | Помощь студентам | 4 | 07.02.2014 09:17 |
Множества: Даны целые числа а1,.....,Аn. Вывести на печать сообщение - имеется ли в последовательности х повторяющиеся числа | lialia | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.12.2012 21:11 |
Вывести числа, из диапазона от n до m у которых, количество единичных разрядов в двоичном представлении числа нечетно | sheff123 | Помощь студентам | 8 | 05.01.2012 15:35 |
Как числа в двоичном виде вывести в столбик по 4 числа? | Equalizer | Общие вопросы C/C++ | 11 | 27.09.2009 14:15 |