![]() |
Вычитание нецелых чисел
Сначала задал вопрос в общем разделе, но прошло время и я склонился к мысли, что это уже для раздела связанного с кодом.
Простой пример - сделал я калькулятор или что то, что предназначено для счёта и пользователь начинает считать - Код AS3:
Как мне получить ожидаемый результат? И это я измеряю таймер, в котором даже такие значения очень важны. И округлять int, uint нельзя и RegExp тоже нельзя цифры резать... Как быть? я только обрадовался, что закончил с плавностью и распределением скачков ( считал, что сегодня доведу до ума ), но а теперь я вообще не знаю, как это можно сделать. И даже если перевести счёт в милисекунды ( без деления на тысячу ), тоже самое. Только выявить сложнее, но ошибка остается. Добавлено через 7 минут И программа воспринимает число 1.1379786002407855e-15 не как 0.000000000000001137, а как полтора. |
Цитата:
А вопрос не возникал почему все функции работы с временем в интовых миллисекундах? По твоему вопросу - ничего с этим не поделаешь. Нужна точность больше - умножай на 10-100-1000, но лучше в итоге прийти к работе с целыми. |
Цитата:
Какие проблемы? Добавлено через 6 минут Цитата:
Код AS3:
|
Цитата:
|
Akopalipsis, вам знакомо понятие "экспонента"?
Вот это число 1.1379786002407855e-15, совсем не полтора, как вам показалось |
Цитата:
|
Цитата:
У первого числа точность намного выше, чем у второго. У второго точность всего 4 знака, а у первого 17. В данном случае в первом числе мантисса равна 11379786002407855, а во втором 0000000000000001137. Вы же не пишете целое число 2 как 0000000002, хотя в целом оба варианта правильные. Таким же образом экономится ограниченная память, которую отводят под число, опуская незначащие нули и заменяя их порядком числа в виде e-15 (то есть мантисса умноженная на десять в степени, которая указана после e, в данном случае мантисса умножить на десять в степени минус 15) На самом деле все задаваемые вами вопросы уже миллион раз решены и расписаны, просто нужно не полениться поискать. Обычно на форум пишут в случае, когда неделя упорных поисков и проб не дают никаких результатов |
KumoKairo Спасибо за обьяснения!
Цитата:
|
Цитата:
Наверное ни сколько не преувеличу, сказав, что это самый полезный ресурс для программиста. Там находятся ответы процентов на 95 всех вопросов, четко и без лишней воды. Ну а по поводу мантиссы http://ru.wikipedia.org/wiki/%D0%A7%...82%D0%BE%D0%B9 п.с. Так же очень советую почитать книжку SCJP Sun Certified Programmer for Java 6. Книжка хоть и по джаве, но там очень подробно рассматриваются вопросы типа "как это работает?" почитав её, многое поймете и об ас3. На русском этой книги не встречал, но, видимо это и не нужно, так как экзамен сам в любом случае только на английском. |
Akopalipsis, давно пора пройти ликбез. Курсы там каке-нибудь, можно онлайн, или просто почитать что-то отвлеченное от AS, ООП и прочей шняги. Потратьте недельку-другую-третью на основы: представление данных, работа с памятью, алгоритмы, библиотеки, девелоп-окружение (редакторы-компилеры-линкеры-дебуггеры). Незамутненное понятие обо всем таком может дать изучение основ Си, по крайней мере взять как отправную точку можно. Ибо оттуда многи ноги растут, сами увидите. Без обид :).
Если решитесь, настоятельно рекомендую изучать это все под никсами. И настоятельно рекомендую консольный режим :). |
Цитата:
Цитата:
от куда и узнал о stackoverflow.com. Спрашивал я там только один раз, так как гугл переводчик не идеален. Если я нахожу ответ на вопрос, но не уверен, что понял его на девяносто девять процентов, то я переспрашиваю. Когда я слышу незнакомые слова, то я то же естественно иду в гугл и смотрю. И в большинстве случаев мои вопросы не вопросы, а просьба поделится опытом и сказать как лучше. За полгода чтения форума у меня складывается не однозначное мнение, то же без обид, но мне кажется, что из-за своей жадности и не желания поделится полученной информации, многие от этого страдают. Не один раз я уже видел, когда форумчанен с датой регистрации совпадающей почти с моей датой рождения, вступая в спор, оказывается не прав. И я не когда не обижаюсь на чужое мнение или советы, я даже рад им. И я не перестану повторять - если человека, который уже работает или знает Оочень много и у которого дата регистрации меньше пол года или чуть более наводит только на одну мысль - у него был ещё акк и когда он начал заниматься в серьёз, то завел новый, что бы не показывать, какие у него у самого были глупые вопросы. |
Цитата:
|
Цитата:
И при чём помогали те, кого больше всего это заездить должно. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Кхе. |
я не буду больше говорить о такой ерунде :)
|
А люди, которые учебники продают за деньги (афигеть просто, они еще и деньги за это берут!!!!!!) - из жадности это делают?
Эгоистическая сторона вопроса: Ты просто вот прикнь палец к носу и посчитай сколько стоит час твоей работы и час работы того кто на твой вопрос ответил. И подумай не сильно ли ты афигел столько времени занимать по вопросам, на которые гугл выдает ответ в первой строке поиска. Альтруистическая и мудрая сторона вопроса: Всё что ты получаешь должно быть как-то оплачено. Даже если это просто опыт и знания. То за что ты не заплатил: временем, эмоцией, деньгами, сломаной рукой, бессонной ночью - ты просто не воспримешь как что-то важное. Ты недостаточно для этого потратил усилий. В одной ухо влетит в другое вылетит. И поэтому предполагается что ты потрудился сначала сам, а уже потом когда уперся во что-то конкретное - уточняешь или просишь помощи у тех кто больше знает. |
Akopalipsis и Dukobpa3 хорош линчевать друг друга. Отставить! Разойдись! Два плюса вне очереди! Каждому.
|
| Часовой пояс GMT +4, время: 18:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.