2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 А правильно ли считает вычислительная техника ?
Сообщение07.12.2014, 01:30 


10/11/14
7
Как-то я решал задачу на 10-ти разрядном карманном калькуляторе.
Требовалось извлечь корень кубический из дроби:
В числителе 10 в 11 степени, в знаменателе 9. Получил: 2231,443167
Но поскольку калькулятор выводит на экран только 10 цифр, а фактически вычисляет с бОльшей точностью,
то я из полученного результата 2231,443167 вычел 2231 и получил 0,44316694 , т.е. получается ответ: 2231,44316694.
Обратите внимание, что если отбросив запятую, в законченном результате, разделить запись ответа по 4 знака, то получится 3 числа: 2231 4431 6694.
Если 94 в конце числа списать на техническую неточность, то предыдущие "66" "намекает", что при бОльшей точности вычисления калькулятора,
результат можно представить как сумму чисел представляющую арифметическую прогрессию со смещением на 4 разряда:
$2231 + 0,4431 + 0,00006631 + 0,000000008831 + 0,0000000000011031 + 0,00000000000000013231+ $и т.д.
т.е. $(0[*]2200+2231)(0,0001^0) + (1[*]2200+2231)(0,0001^1) + (2[*]2200+2231)(0,0001^2) + 
+ (3[*]2200+2231)(0,0001^3) + (4[*]2200+2231)(0,0001^4) + (5[*]2200+2231)(0,0001^5)$ и т.д.
Таким образом законченный результат с точностью до 32 знаков должен выглядеть так:
2231,4431'6631'8832'1032'3232'5432'6732
а компьютор, решая эту задачу, выдаёт результат:
2231,4431'6694'0565'0729'4219'7748'7998
Так где же ошибка?

 Профиль  
                  
 
 Re: А правильно ли считает вычислительная техника ?
Сообщение07.12.2014, 01:38 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
Вы делаете совершенно произвольные и ни чем не обоснованные предположения, что две шестерки вам на что-то "намекают". Прав компьютер.

 Профиль  
                  
 
 Re: А правильно ли считает вычислительная техника ?
Сообщение07.12.2014, 09:50 


13/08/14
350
Конечно не правильно.Поскольку для того, чтобы представить одно действительное число в машинном виде необходимо бесконечное время, бесконечное пространство, бесконечная масса и бесконечная энергия. Так что запасов указанных ресурсов всей вселенной не хватит, чтобы представить одно завалящее действительное число. А уж, чтобы перемножить два числа!..

 Профиль  
                  
 
 Re: А правильно ли считает вычислительная техника ?
Сообщение07.12.2014, 15:17 
Заслуженный участник


09/05/12
25179
FORSIK в сообщении #941553 писал(а):
Но поскольку калькулятор выводит на экран только 10 цифр, а фактически вычисляет с бОльшей точностью,
Это правильно, но вот насколько эта точность больше - уже предположение. С одной стороны, можно предположить, что она специально подобрана таким образом, чтобы гарантировать правильность только последней высвечиваемой цифры ответа (и тогда правильность следующих цифр под сомнением), с другой - сказать, что процессор калькулятора ведет вычисления в двоичной системе и обладает некоторой "круглой" стандартной разрядностью (и тогда точность фактически получаемого ответа может быть заметно выше, чем высвечиваемого - это дешевле, чем подгоднять друг к другу размеры индикатора и разрядность процессора).

FORSIK в сообщении #941553 писал(а):
Если 94 в конце числа списать на техническую неточность, то предыдущие "66" "намекает", что при бОльшей точности вычисления калькулятора,
А вот тут Вы опираетесь на одно из возможных предположений, поэтому правильность полученного итогового результата ниоткуда не следует. Отсюда и ошибка.

 Профиль  
                  
 
 Re: А правильно ли считает вычислительная техника ?
Сообщение07.12.2014, 17:58 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Вы смешиваете "правильно" и "точно".
Точный результат возможен не всегда. Для сложения возможен, уже умножение может приводить к потере младших знаков, а уж деление - элементарная 0.1 на любой (нынешней, исторически были электромеханические компы с 10-чной системой счисления, на которых десятичные дроби могли быть представлены точно) двоичной ЭВМ точно не представима, а реализуете десятичную программно - посчитайте 1/3. Можно использовать арифметику рациональных чисел, ценой потери времени, но с делением так получится - останутся корни. И т.д.
Так что требовать можно только "правильности". В смысле, что операции с одними и теми же аргументами дадут тот же результат (воспроизводимость) - не такое тривиальное требование, на АВМ результат мог зависеть от, скажем, температуры, и что отклонение результата операции от точного (которое можно оценить, не имея знания точного значения) было бы меньше некоторой заранее выбранной величины.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group