Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Почему Math.cos(90 * Math.PI / 180) не дает 0? (http://www.flasher.ru/forum/showthread.php?t=158787)

Bazel 23.06.2011 18:30

Почему Math.cos(90 * Math.PI / 180) не дает 0?
 
вот что выдает
cos90= 6.123031769111886e-17
cos270= -1.836909530733566e-16
cos450= 3.061515884555943e-16
cos630= -4.2861222383783204e-16

код :
Код AS3:

trace ("cos90=",Math.cos(90 * Math.PI/180 ))         ; 
                        trace ("cos270=",Math.cos(270 * Math.PI/180 ))        ;
          trace ("cos450=",Math.cos(450 * Math.PI/180 ))        ;
          trace ("cos630=",Math.cos(630 * Math.PI/180 )) ;
                  trace ("cos0=",Math.cos(0 * Math.PI/180 ))        ;
                        trace ("cos180=",Math.cos(180 * Math.PI/180 ))        ;
          trace ("cos360=",Math.cos(360 * Math.PI/180 ))        ;
          trace ("cos540=",Math.cos(540 * Math.PI/180 )) ;

вопрос : почему не дает 0 и как с этим жить ?

Добавлено через 7 минут
типо это почти 0 означает ?

dimarik 23.06.2011 18:41

Издержки конечной 64-bit разрядности IEEE 754
Такие порядки степени довольно близки к нулю.

GBee 23.06.2011 18:43

Примечание. Результаты применения функций класса Math (acos, asin, atan, atan2, cos, exp, log, pow, sin и sqrt) могут немного различаться в зависимости от алгоритмов, используемых ЦП или операционной системой. Среда выполнения Flash направляет вызов ЦП (или операционной системе, если ЦП не поддерживает вычисления с плавающей запятой) при выполнении расчетов по функциям, входящим в список. Наблюдается незначительный разброс результатов, который зависит от используемого ЦП или операционной системы.

Bazel 23.06.2011 18:58

мм вот оно что , интересно . спасибо

Добавлено через 3 минуты
нубский вопрос : посути ЦП это калькулятор ?

КорДум 23.06.2011 19:07

Цифровой Процессор - да.

Bazel 23.06.2011 19:09

Цитата:

Сообщение от КорДум (Сообщение 1006004)
Цифровой Процессор - да.

а Центральный ?

КорДум 23.06.2011 19:10

Тьфу, центральный.

Bazel 23.06.2011 19:12

ок , спасибо

stasuss 23.06.2011 19:12

я бы не стал заходить так далеко и называть процессор калькулятором.. основа у него все таки алу - арифметико-логическое устройство... да и по скорости и разрядности калькуляторам далеко до процессоров.. а такие результаты при вычислении тригонометрических функций ни на что не влияют. все равно по сути это ноль.

S-ed 24.06.2011 01:43

Тригонометрические функции вычисляются как ряды Тейлора (я ведь не отстал от жизни?). Более быстрый (и иногда даже более точный) способ это таблица поиска. Она содержит значения тригонометрической функции для определенных углов. Например, последовательный многократный вызов реального вычисления синуса, может дать значительную ошибку, если значение в цикле не будет обнулятся.


Часовой пояс GMT +4, время: 19:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.