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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.09.2009, 21:56
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 21  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Это можно обойти на программном уровне

Цитата:
во всех языках есть библиотеки для точных вычислений. я думаю и для ас3 тоже есть. нужно только поискать.
Как говорится - чтд. Так почему это не зашито в fp?

Старый 02.09.2009, 22:06
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 22  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от kackbip Посмотреть сообщение
Как говорится - чтд. Так почему это не зашито в fp?
Зачем? Кстати, координаты не могу быть меньше 0.05 пикселя, так как такая точность не нужна. Это не расчеты ядерных реакторов.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 02.09.2009, 22:36
murz вне форума Посмотреть профиль Отправить личное сообщение для murz Найти все сообщения от murz
  № 23  
Ответить с цитированием
murz
[+1 10.12.10]

Регистрация: Feb 2006
Сообщений: 148
Отправить сообщение для murz с помощью ICQ
Цитата:
так работает процессор. такое поведение абсолютно во всех языках происходит при работе с float'ами. программное обеспечение тут не причём. это зашито на аппаратном уровне.
как насчет "С", СИ крут, а все остальное реально не для точных вычислений.
Код:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
	float aaa= 2.3;
	int bbb= 1;
	float result= aaa - bbb;
	char str[123];
	sprintf(str, "%f",result);
	puts(str);//1.300000
	return EXIT_SUCCESS;
}


Последний раз редактировалось murz; 02.09.2009 в 22:42.
Старый 03.09.2009, 07:42
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 24  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Расчеты могут производиться не только для определения координат. В головном сообщении этой темы указана проблема, которой лучше бы не было. Почему лучше бы не было? Потому что результат не соответствует ожидаемому, тому что диктует наш привычный десятиричный мат. аппарат. Это неизбежно приводит к багам или увеличению сроков разработки.

Старый 03.09.2009, 10:40
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 25  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Цитата:
Сообщение от kackbip Посмотреть сообщение
И все таки это следствие лени разработчиков.
Таких сюрпризов можно было бы избежать.
И где же вы раньше были? Как всегда появился гений, которому наплевать на 20 летние разработки математиков и программистов всего мира.

Цитата:
Сообщение от murz Посмотреть сообщение
как насчет "С", СИ крут, а все остальное реально не для точных вычислений.
Си ничем не отличается от других языков программирования — использует все те же числа с плавающей запятой. Только одно отличие — в настройках можно указать повышенную точность вычислений вещественных чисел, что означает, что все вычисления будут производиться с 80битными числами, а затем округлятся, а не обрезаться до размера переменной этого типа.

Цитата:
Сообщение от kackbip Посмотреть сообщение
Это неизбежно приводит к багам или увеличению сроков разработки.
Помоему вы накручиваете проблему, я при разработке программ очень часто имею дело с вещественными числами, ни разу это не вызывало для меня проблем. Тот факт, что вычисления с вещественными числами не соответствуют вычислениям с десятичными нужно просто учесть — это плата за скорость работы с такими числами. Например, нужно исключить из программы все сравнения с такими числами, сравнивать всегда нужно с учетом погрешности. Также нельзя складывать числа, которые сильно отличаются порядком.
В программах, в которых требуется точность вычислений не используются числа с плавающей запятой. В программах, которые работают с деньгами используются числа с фиксированной запятой — фактически каждое число умножается на 10000 для вычислений, а затем делится при выводе. Также есть вариант чисел очень высокой точности — при вычислениях точность чисел повышается автоматически.
__________________
TankiOnline
Я разработчик Alternativa3D

Старый 03.09.2009, 11:28
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 26  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Цитата:
Сообщение от iNils Посмотреть сообщение
Зачем? Кстати, координаты не могу быть меньше 0.05 пикселя, так как такая точность не нужна. Это не расчеты ядерных реакторов.
хммм а есть вопрос гео координат, там как раз важна точность десятых, сотых и тысячных

Старый 03.09.2009, 11:32
divinus вне форума Посмотреть профиль Отправить личное сообщение для divinus Найти все сообщения от divinus
  № 27  
Ответить с цитированием
divinus
 
Аватар для divinus

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
как уже сказали, во флеше такая точность просто излишняя, нужна точность возьмите фортран
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 03.09.2009, 12:29
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 28  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
зашибись блин фортран, тогда можно будет и про флеш забыть... потому как скорость упадет в разу просто потому что буду дольше передавать инфу по externaInterface или через запросы... бред какой то

Старый 03.09.2009, 12:46
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 29  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
че-то не увидел в чем проблема
написал
Код AS1/AS2:
trace(1.9/0.1); // вывел 19
trace(5.3-4); // вывел 1.3
trace(2.3-1); // вывел 1.3

Старый 03.09.2009, 13:33
murz вне форума Посмотреть профиль Отправить личное сообщение для murz Найти все сообщения от murz
  № 30  
Ответить с цитированием
murz
[+1 10.12.10]

Регистрация: Feb 2006
Сообщений: 148
Отправить сообщение для murz с помощью ICQ
Цитата:
Сообщение от ZIK68 Посмотреть сообщение
че-то не увидел в чем проблема
написал
Код AS1/AS2:
trace(1.9/0.1); // вывел 19
trace(5.3-4); // вывел 1.3
trace(2.3-1); // вывел 1.3
Ипать, для AS2 это действительно так, а для AS3:
Код:
//18.999999999999996
//1.2999999999999998
//1.2999999999999998

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

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

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


 


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


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