Найти - Пользователи
Полная версия: ограничение float
Начало » Python для новичков » ограничение float
1 2
S1asH
народ помогите есть какой нибудь другой тип данных с большей точностью (нужно чтоб минимум после запятой было 15 знаков), а то у флоат ограничение всего 10 знаков после запятой. Нужно для научных вычислений.
asv13
http://calcrpnpy.sourceforge.net/clnumManual.html
http://code.google.com/p/gmpy/
decimal

(а вообще кажется тема обсуждалась уже)
Ed
А откуда у float такое ограничение?
Андрей Светлов
53 бита мантиссы - что то около 15 десятичных разрядов. Почти 16 - но все равно не слишком много :)
Если нужно строгие 15 знаков после запятой плюс еще сколько-то там перед ней, float оказывается чуть-чуть узковат.
S1asH
в numpy есть такой тип как flout64 позволяет использовать до 13 знаков после запятой. у меня проблема такова что есть файл(текстовик) со значениями типа -0.123456789012345 вот их мене надо из этих значений составить массив.
Vader
Может вобще не стоит float использовать? Можно попробовать использовать 2 целых числа - одно для целой части и второе для дробной.
o7412369815963
или просто целое число, первые 15 знаков считать как до запятой.
Андрей Светлов
o7412369815963
или просто целое число, первые 15 знаков считать как до запятой.
В какой системе счисления знаки считать будете? В двоичной одно получается, в шестнадцатеричной немного другое.
А десятичная вообще не очень удобно переводится
Андрей Светлов
S1asH
в numpy есть такой тип как flout64 позволяет использовать до 13 знаков после запятой. у меня проблема такова что есть файл(текстовик) со значениями типа -0.123456789012345 вот их мене надо из этих значений составить массив.
numpy.float64, к вашему сведению, имеет ту же разрядность что и обычный float. И это - не 13 знаков, как я уже писал.
numpy.float128 изрядно шире.

Но дело не в этом. Не стесняйтесь, напишите что вы еще собираетесь делать с этими числами - помимо чтения из текстового файла.
Может быть складывать или даже делить?
15 знаков (десятичных, как я понимаю) откуда взялись? Чье это ограничение?
Таки сколько должно быть разрядов после запятой? А до нее? Ответ “как можно больше” некорректен - разрядная сетка не резиновая.
Что считаете - рубли или километры? float конструктивно не может точно записать некоторые дроби и совсем не подходит для финансов.
Экспонента используется или нет? Имеется в виду способ записи вроде 3.14e32.
Рядышком стоит вопрос округлений - когда их делать и как.

Это то, что пришло мне в голову в первую очередь. И в зависимости от ответов я бы выбирал тот или иной тип данных, а потом уже библиотеку под него.
o7412369815963
Андрей Светлов
o7412369815963
или просто целое число, первые 15 знаков считать как до запятой.
В какой системе счисления знаки считать будете? В двоичной одно получается, в шестнадцатеричной немного другое.
А десятичная вообще не очень удобно переводится
в десятичной конечно же, для перевода достаточно разделить или умножить на 10^n. при этом математика не меняется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB