Что нового

Округления при вычислениях

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Помнится, пару раз на форуме поднималась тема с округлением. Так вот, натолкнулся на нижеприведенную статью. По мне, так очень познавательно. Почитайте на досуге
IEEE754-тика угрожает человечеству
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 595
Репутация
938
Re: Окурегления при вычислениях

[15:36:49] Wall of text hits you on 100500 holy damage
Познавательность то познавательностью, но краткость сестра таланта v_v
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
Re: Окурегления при вычислениях

Kaster
В названий темы опечатка :whistle:
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Прочитал. Вспомнил автора. Подумал, вспомнил автора ещё раз и ушёл зубрить информатику.
Вроде понял откуда проблемы.

Написал программу решающую задачу про скалярное произведение:

Код:
Dim $aX[6] = [10^20, 1223, 10^18, 10^15, 3, -1*(10^12)]
Dim $aY[6] = [10^20, 2, -1*(10^22), 10^13, 2111, 10^16]

Dim $aZ[6]

For $i = 0 To 5 Step +1
	$aZ[$i] = $aX[$i]*$aY[$i]
Next

$iSum = 0
For $i = 0 To 5 Step +1
	$iSum += $aZ[$i]
	ConsoleWrite($aZ[$i] & @LF)
Next
ConsoleWrite($iSum & @LF)


ConsoleWrite('----------------------------------' & @LF)


For $iStart = 1 To 5 Step +1
	For $i = $iStart To 5 Step +1
		If Abs($aZ[$iStart-1]) < Abs($aZ[$i]) Then
			$temp = $aZ[$iStart-1]
			$aZ[$iStart-1] = $aZ[$i]
			$aZ[$i] = $temp
		EndIf
	Next
Next

$iSum = 0
For $i = 0 To 5 Step +1
	$iSum += $aZ[$i]
	ConsoleWrite($aZ[$i] & @LF)
Next
ConsoleWrite($iSum & @LF)

Для себя сделал вывод: 90% всех ошибок комьютера сидят в полуметре от монитора.
 

SyDr

Сидра
Сообщения
651
Репутация
158
Автор данной статьи <слово из заголовка страницы со статьёй>
 
Верх