Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

Какая чушь :)   Найти похожие ветки 

 
homm ©   (2007-12-21 23:25) [0]

http://www.yandex.ru/yandsearch?clid=9582&text=IEEE754
Первая ссылка.

Особенно понравилось:
В настоящее время используются приборы точности не выше класса 0.1%. Это соответствует 4-5 десятичным разрядам. Потому большая часть мантисс IEEE754-чисел, особенно в форматах двойной и расширенной точности, несодержательна, фактически, есть информационный шум. Отсюда следует, что современный IEEE754-процессинг есть процессинг, обработка преимущественно шумов.
Какая чушь…


 
antonn ©   (2007-12-21 23:39) [1]

издержки "раскрутки", много всякого текста занимают верхние строки поиска хотя могут содержать всякую чушь :(


 
Ins ©   (2007-12-22 00:43) [2]


> Какая чушь…

Ну не совсем чушь. У нас предприятие разрабатывает приборы для аналитической химии - pH-метры, иономеры и т.д. Приборы как раз имеют точность 4-5 десятичных разрядов, но по RS-232 передают все 10-15. Допустим, pH-метр измерил pH раствора, и у него получилось 6,73230484312. Но при точности плюс-минус 0,5%, скажем, уже после второго знака после запятой цифры не несут никакой информационной ценности, так как они лежат в пределах допускаемой погрешности. Их можно смело отбрасывать. Да, фактически - это информационный шум.

Так что для измерительной техники - это обычное явление.


 
homm ©   (2007-12-22 07:14) [3]

> [2] Ins ©   (22.12.07 00:43)
> уже после второго знака после запятой цифры не несут никакой
> информационной ценности

Но и не делают обработку шумов преимущественной. Шум занимает младшие разряды.


> Их можно смело отбрасывать.

И таким отбрасыванием избавится от шумов? Это только с точки зрения интуиции так. Если включить здравый смысл, станет ясно что избавившись от цифр после запятой, мы избавимся от цифр после запятой, и просто дадим шумам другое значение. Пример:
Прибор с точностью 0,3% показал значение 22,21561. Это значит что цифры после второго знака после запятой можно отбросить: 22,2. Предположим, что реальное значение измеряемого параметра 22,2321. В первом случае шум был 0,01649, а необосновано отбросив младшие разряды мы увеличили его до 0,0321.


 
J_f_S   (2007-12-22 07:46) [4]


> homm ©   (22.12.07 07:14) [3]

Статистику в ВУЗе прогуливали?


 
vrem_   (2007-12-22 09:11) [5]

"преимущественно шумы" вот это не понятно. то, что отбрасывают по количеству меньше самого значения - в значении есть и целые допустим, а отбрасывают только дробные.


 
Ins ©   (2007-12-22 10:59) [6]


> И таким отбрасыванием избавится от шумов? Это только с точки
> зрения интуиции так. Если включить здравый смысл, станет
> ясно...


Спасибо, я это прекрасно понимаю :)
Отбрасывать - это значит хорошо бы их вообще не обрабатывать при расчетах, так как если перевести десятичное представление числа в формат с плавающей точкой, большинство бит при этом у того, что получится, будет бессмысленным. Однако при операциях с плавающей точкой все они будут использоваться, при этом так и получится - большинство времени при расчетах с плавающей точкой занимает обработка бесполезных бит (их большинство, хоть они и младшие). Представляя число с бОльшей точностью мы просто увеличиваем число бесполезных бит.


 
homm ©   (2007-12-22 11:26) [7]

> [6] Ins ©   (22.12.07 10:59)
> большинство времени при расчетах с плавающей точкой занимает
> обработка бесполезных бит

Совершенно необоснованное утверждение.
procedure TForm1.Button1Click(Sender: TObject);
var
 i, T: DWORD;
 s, r : XXX;
begin
 T := getTickCount();
 S := 0;
 for i := 0 to 99999999 do begin
   r := i;
   s := s + r;
 end;
 ShowMessage(inttostr(GetTickCount-T));
end;

вместо XXX:
Single — 2172
Double — 2187

Выбирайте тип под задачу. Почему то никто не возмущается что под Boolean нужна только 1/8 реально занимаемого им размера.


 
Ins ©   (2007-12-22 11:39) [8]


> homm ©   (22.12.07 11:26) [7]


Я не совсем понял, что ты этим примером хотел показать? Можно мне убогому объяснить популярно?


 
homm ©   (2007-12-22 11:52) [9]

> [8] Ins ©   (22.12.07 11:39)

Твое утверждение:
> большинство времени при расчетах с плавающей точкой занимает
> обработка бесполезных бит

Я увеличил количество «бесполезных» бит на много, и это НЕ заняло больше времени обрабоки. Отсюда прямым текстом следует, что «обработка бесполезных бит» НЕ «занимает большинство времени при расчетах с плавающей точкой». Т.е. доказывать целесообразность уменьшения мантисы, мотивируя это затратой рессурсов на вычисление, бездокозательно. Мотивируя занимаемой памятью — тоже не хоршо, просто потому что так есть, что минимальный размер плавающего числа равен 32 бита. Точно так же как есть то, что минимальный размер целово числа 8 бит.


 
homm ©   (2007-12-22 11:56) [10]

> [4] J_f_S   (22.12.07 07:46)

Неужели по статистике, изменяя значение, просто неоткуда решив, что нужно именно отбросить именни такую-то часть числа, мы приближаем значение к верному?


 
Ins ©   (2007-12-22 12:09) [11]


> Я увеличил количество «бесполезных» бит на много, и это
> НЕ заняло больше времени обрабоки.

Да нет, ты видимо просто не знал, что все операции с плавающей точкой осуществляются в формате Extended. При загрузке числа типа Single или Double в регистр процессора он конвертируется в этот формат, затем происходят вычисления (с огромным числом бесполезных бит), а потом - результат обрезается до нужной точности. Именно поэтому результат примерно одинаковый по времени - работа идет с одним и тем же форматом Extended. :)

PS: Антон хорошие статьи пишет, рекомендую:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374

Удачи! :)


 
homm ©   (2007-12-22 12:28) [12]

> [11] Ins ©   (22.12.07 12:09)
> Да нет, ты видимо просто не знал, что все операции с плавающей
> точкой осуществляются в формате Extended.

Да, что то я это упустил из виду. Но тем не менее я сомневаюсь, что будь внутрение вычисления сделаны на меньшем количестве бит, был бы пропорциональный прирост производительности. Всем извстно, современные процессоры быстре работают на 4-х байтных операциях, чем на побайтовых. А запас точности пригождается при многократных операциях, которые, как известно, точности не прибавляют.


 
vrem_   (2007-12-22 12:34) [13]

homm ©   (22.12.07 11:26) [7]
на ассемблере написаны примеры как умножение реализовано, деление - то есть mul, div. И там оптимизация всюду, если биты не используются, то они нулевые, в оптимизации это используется.

по теме ветки - лучше бы не отбрасывали не нужные биты, а заменяли их на не мешающие и одновременно нужные для оптимизации :)


 
Ins ©   (2007-12-22 12:42) [14]


>  Но тем не менее я сомневаюсь, что будь внутрение вычисления
> сделаны на меньшем количестве бит, был бы пропорциональный
> прирост производительности.

Прирост производительности - будет, не сомневайся, просто дело в том, что в большинстве случаев на это можно закрыть глаза. В программе как правило присутствуют другие, гораздо более "узкие" места, на фоне которых потери из-за "лишней" точности незаметны. Так что первоначальная фраза - не чушь, она верна, другое дело как к этому относится. Лично мне от этого не жарко не холодно - самолеты летают, телевизор футбол показывает, я имею возможность общаться с вами по сети.


>  А запас точности пригождается при многократных операциях,
>  которые, как известно, точности не прибавляют.

Верно, но с оговоркой: "разумный запас точности". Если у меня ошибка в третьем знаке, может еще и имеет смысл при расчетах учитывать четвертый и пятый, но четырнадцатый и пятнадцатый - явно лишние :)


 
Anatoly Podgoretsky ©   (2007-12-22 22:03) [15]

> Ins  (22.12.2007 12:42:14)  [14]

Что ты сексуально озабочен, а про секс ничего не знаешь.


 
Ins ©   (2007-12-25 15:02) [16]


> ...а про секс ничего не знаешь.


Про секс не знать надо, сексом надо заниматься ;-)



Страницы: 1 вся ветка

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.066 c
15-1198841749
Девушка
2007-12-28 14:35
2008.02.03
Терминал


2-1199874260
Ega23
2008-01-09 13:24
2008.02.03
Версия MSOffice


2-1200160636
петрович07
2008-01-12 20:57
2008.02.03
imagelist


15-1198581847
{RASkov}
2007-12-25 14:24
2008.02.03
Бесплатный сыр:)


2-1199430043
Andreil
2008-01-04 10:00
2008.02.03
Вызов ДЛЛ из ЕХЕ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский