реклама на сайте
подробности

 
 
> Python, вопросы
_Pasha
сообщение Feb 25 2013, 07:13
Сообщение #1


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Привет!
Долго мне питон не нравился, потом таки постепенно начал вникать, дух противоречия спадает.
Решил отбросить разное лишнее, калькулятор в частности, и пользоваться питоноконсолью.
Но сегодня с утра я в шоке:
Код
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 40.0-37.96
2.039999999999999
>>>

Что бы это значило? crying.gif
--
Граница глюка
>>> 40-31.2
8.8
>>> 40-32.2
7.799999999999997
Причем, в выражениях - то же самое. Это чтож оно насчитает в итоге?!

Вести с полей.
Если пишешь print 40-37.96 то выводит 2.04
Нет никакого желания продолжать дальше. На использование в кач-ве калькулятора можно забить. И хорошо, что из книжек 80-х годов осталась масса макулатуры по бейсику, там всегда были контрольные примеры. Проверим, что эта гадость в компании с numPy насчитает, хотя бы с матрицами. Ух, как я зол!

Сообщение отредактировал _Pasha - Feb 25 2013, 07:14
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
thermit
сообщение Feb 25 2013, 13:25
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
_Pasha:
Вычли из 40 31.2 после приведения порядков ошибка представления ушла?


Куда кто ушел? 31.2 уже не представимо. Мантисса не позволяет. Ближайшее 31.199999999999999.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 25 2013, 15:02
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(thermit @ Feb 25 2013, 16:25) *
Куда кто ушел? 31.2 уже не представимо. Мантисса не позволяет. Ближайшее 31.199999999999999.

Вот и именно.
40.0 = 1.25*2^5
31.2 = 1.9500000476837158 * 2^4=0.975000023841858*2^5 (казалось бы, здесь она уменьшается, эта ошибка)
40.0-31.2 = 0.274999976158142*2^5=8.79999923706054
--
А пишет 8.8 cranky.gif
Т.е. в зависимости от того, как там дела на Марсе, он то "хочет" округлить то "не хочет"
--
Для более придирчивого взгляда, обобщу: если мы из представимого множеством double числа вычтем непредставимое, то в результате обязательно получим непредставимое, а в консоли это не так.

Сообщение отредактировал _Pasha - Feb 25 2013, 15:41
Go to the top of the page
 
+Quote Post
Виктория
сообщение Feb 25 2013, 17:12
Сообщение #4


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(_Pasha @ Feb 25 2013, 18:02) *
Т.е. в зависимости от того, как там дела на Марсе, он то "хочет" округлить то "не хочет"


Может сервис локализации тут мельтешит?( Параметры категории LC_NUMERIC, какое правильное значение grouping для Ваших примеров - никак не соображу, в Excel всё это выглядит как-то прозрачнее).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Pasha   Python   Feb 25 2013, 07:13
- - demidrol   это уже прочитал? Вообще-то питон честно следует i...   Feb 25 2013, 07:17
|- - _Pasha   Цитата(demidrol @ Feb 25 2013, 10:17) И б...   Feb 25 2013, 07:43
- - Виктория   То есть исходный вопрос заключается все-таки ...   Feb 25 2013, 09:43
- - MrYuran   КодPython 2.7.2 (default, Jun 12 2011, 15...   Feb 25 2013, 10:19
- - Виктория   Ага, непонятно почему print с его стандартными мод...   Feb 25 2013, 10:50
- - thermit   Цитата_Pasha: Что бы это значило? Это означает, ч...   Feb 25 2013, 11:14
- - _Pasha   Цитата(Виктория @ Feb 25 2013, 12:43) То ...   Feb 25 2013, 11:26
- - thermit   ЦитатаСудя по листингу выше, это ничего не означае...   Feb 25 2013, 12:00
|- - _Pasha   Цитата(thermit @ Feb 25 2013, 15:00) Успе...   Feb 25 2013, 12:18
|- - _Pasha   Цитата(Виктория @ Feb 25 2013, 20:12) Мож...   Feb 25 2013, 17:46
- - haker_fox   Гм, ради интереса у себя все проверил... Тоже само...   Feb 25 2013, 13:46
- - Виктория   Не забудьте рассказать результаты. Как я поняла п...   Feb 26 2013, 17:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 23:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.07769 секунд с 7
ELECTRONIX ©2004-2016