Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.03.2009, 13:44
gipofiz вне форума Посмотреть профиль Отправить личное сообщение для gipofiz Найти все сообщения от gipofiz
  № 1  
Ответить с цитированием
gipofiz

Регистрация: Mar 2009
Сообщений: 6
По умолчанию Зачем нужны числа с порядком вида 3.000000E-003?

Часто попадаются в примерах и исходниках подобные числа. У Мука есть приятные простые примеры, вроде 12e2. Если число огромное, то его удобнее будет записать с Е тут все понятно.
Но вот попался пример с числом 5.170000E+001.
1 Зачем писать нули после запятой, почему не просто 5.17?
2 Зачем писать E+001, если правильно понимаю, то это 10 в степени 1. Т.е. усложнение записи .
3 Чем такая запись лучше просто 5.17? Почему её используют?

Если вопрос поднимался уже, дайте, пожалуйста, ссылку.

Старый 04.03.2009, 13:53
zurkis вне форума Посмотреть профиль Отправить личное сообщение для zurkis Найти все сообщения от zurkis
  № 2  
Ответить с цитированием
zurkis
 
Аватар для zurkis

Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
ну скорей всего данные исходники были выложены после декомпилирования, такое к сожалению попадаеться
__________________
Пока я жив, Вы горем обеспечены

Старый 04.03.2009, 14:49
св.demien вне форума Посмотреть профиль Отправить личное сообщение для св.demien Найти все сообщения от св.demien
  № 3  
Ответить с цитированием
св.demien
 
Аватар для св.demien

Регистрация: Aug 2007
Сообщений: 109
Отправить сообщение для св.demien с помощью ICQ
Почему, на паре статистике столкнулся с таким числом, решал квадратичную регрессию, цифр много, без калькулятора не обойтись. Калькулятор выдал число с подобным хвостом E+001. Не задумался, взял первые 3 цифры в ответ.
__________________
Не вытерпел, и опять сказал что-то умное :)


Последний раз редактировалось св.demien; 04.03.2009 в 15:05.
Старый 04.03.2009, 15:53
gipofiz вне форума Посмотреть профиль Отправить личное сообщение для gipofiz Найти все сообщения от gipofiz
  № 4  
Ответить с цитированием
gipofiz

Регистрация: Mar 2009
Сообщений: 6
zurkis, спасибо ) такая мысль в голову не приходила. Если так, то все понятно

Главное, чтобы не было какого-нибудь хитрого правила, по которому нужно нормальные числа записывать таким образом.

Старый 04.03.2009, 16:45
св.demien вне форума Посмотреть профиль Отправить личное сообщение для св.demien Найти все сообщения от св.demien
  № 5  
Ответить с цитированием
св.demien
 
Аватар для св.demien

Регистрация: Aug 2007
Сообщений: 109
Отправить сообщение для св.demien с помощью ICQ
Загугли что нибудь про Е, что это такое вообще...возможно это связано с фамилией Эйлер. 90% что я ошибаюсь.
__________________
Не вытерпел, и опять сказал что-то умное :)

Старый 04.03.2009, 16:56
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 6  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от св.demien Посмотреть сообщение
Загугли что нибудь про Е, что это такое вообще...возможно это связано с фамилией Эйлер. 90% что я ошибаюсь.
Не ну вы блин даёте) е - экспонента http://ru.wikipedia.org/wiki/E_(%D0%...D%D1%82%D0%B0)
Код:
Почему была выбрана именно буква e, 
точно неизвестно. Возможно, это связано с тем, 
что с неё начинается слово exponential («показательный», «экспоненциальный»). 
Другое предположение заключается в том, что буквы a, b, c и d уже довольно широко
использовались в иных целях, и e была первой «свободной» буквой. 
Неправдоподобно предположение, 
что Эйлер выбрал e как первую букву в своей фамилии (нем. Euler).
Код:
В языках программирования символу e в экспоненциальных записях 
числовых литералов соответствует число 10, а не Эйлерово число. 
Это связано с историей создания и использования языка 
для математических вычислений FORTRAN:
Таким образом, записи типа 7.38e-43 
в языках программирования будет соответствовать 
число 7,38*10^{-43}, а не 7,38* 2,718^{-43}.
офтопик:
ps косяк с тегом урл. Последняя ")" в ссылке выносится за тег
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 04.03.2009 в 17:07.
Старый 05.03.2009, 03:17
св.demien вне форума Посмотреть профиль Отправить личное сообщение для св.demien Найти все сообщения от св.demien
  № 7  
Ответить с цитированием
св.demien
 
Аватар для св.demien

Регистрация: Aug 2007
Сообщений: 109
Отправить сообщение для св.demien с помощью ICQ
ну по крайней мере угадал с Эйлером
__________________
Не вытерпел, и опять сказал что-то умное :)

Старый 05.03.2009, 06:11
aksios вне форума Посмотреть профиль Отправить личное сообщение для aksios Найти все сообщения от aksios
  № 8  
Ответить с цитированием
aksios
loading 50%
 
Аватар для aksios

Регистрация: Jun 2005
Адрес: I am where I should be
Сообщений: 3,567
Отправить сообщение для aksios с помощью ICQ
Объясняю: компьютер на аппаратном уровне работает в двоичной системе исчисления, поэтому числовые величины записываются в виде с плавающей точкой - для удобства обработки компом. Суть в том, что не нужно писать две реализации алгоритма обработки - для целых и дробных чисел (а за одно для положительных и отрицательных) - все нормализовать в виде дробей с плавающей точкой, добавить разряд под знак и обрабатывать по универсальному алгоритму.
Используется это дело и в теории баз данных...
Простейший пример: вот есть у Вас измерительный прибор с несколькими диапазонами работы. На индикаторе с фиксированным числом разрядов, значение не будет читаемым, если при переключении диапазонов отображать числа в обычном виде - реально отображается дробная величина, которую нужно домножить на диапазон - чтобы получить значение измеряемой величины.
Если все записывать без целой части - в виде 0.xxxxxxxx E+xxx, то можно удобно представить широкий диапазон значений. - К примеру, построить график отложив по экспаненциальной шкале значения по оси - для конкретного диапазона все значения лягут между 0 и 1, что для построения сетки весьма удобно.

Старый 05.03.2009, 11:44
gipofiz вне форума Посмотреть профиль Отправить личное сообщение для gipofiz Найти все сообщения от gipofiz
  № 9  
Ответить с цитированием
gipofiz

Регистрация: Mar 2009
Сообщений: 6
aksios, спасибо за объяснение. Пока с такими задачами не сталкивалась, но теперь поняла где это может пригодиться.

Мне видимо действительно попались жертвы декомпиляции, т.к. код простой и необходимости в такой записи нет.

P.S. Не удержалась потестить
Пример:
Код AS1/AS2:
a = 2.31;
b = 7.28;
trace(a+b);
c = a+b;
в декомпиляторе стал выглядеть как:
Код AS1/AS2:
a = 2.310000E+000;
b = 7.280000E+000;
trace (a + b);
c = a + b;
P.S.2 Еще раз всем спасибо за ответы!

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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