Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2019, 10:50   #1
cupoma58
Пользователь
 
Аватар для cupoma58
 
Регистрация: 12.08.2014
Сообщений: 44
Радость сопроцессор, точность вычислений

Здравствуйте. Сделал арифмометр (http://cupoma58.ru/assembler.html) для целых и дробных положительных чисел. Он заработал...с целыми числами, для дробных - возникли проблемы с точностью результата:
Код:
  7 : 2 = 3.5 * 2 = 6.5999      30.5 * 2 = 60     35.5 * 2 = 71
  9 : 2 = 4.5 * 2 = 8.8000      50.5 * 2 = 100    55.5 * 2 = 111   
 11 : 2 = 5.5 * 2 = 11          и т.д.
 13 : 2 = 6.5 * 2 = 13.1999
 15 : 2 = 7.5 * 2 = 15.3999
Погрешность появляется вместе с дробной частью. Я подумал, что это связано с округлением и
попробовал изменить настройку слова управления сопроцессора - ничего не изменилось.
И на числа меньше единицы арифмометр реагирует как на ноль.
Подскажите - в чём дело?
cupoma58 вне форума Ответить с цитированием
Старый 18.01.2019, 11:05   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы бы код показывали, а не непонятно как полученные примеры.
Код:
50.5 * 2 = 100    55.5 * 2 = 111
Из-за лишней 5 стал считать лучше?
p51x вне форума Ответить с цитированием
Старый 18.01.2019, 11:46   #3
cupoma58
Пользователь
 
Аватар для cupoma58
 
Регистрация: 12.08.2014
Сообщений: 44
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы бы код показывали...
Код арифмометра этот сайт не принимает - превышен лимит на символы, но можно посмотреть по указанной ссылке.
cupoma58 вне форума Ответить с цитированием
Старый 18.01.2019, 11:47   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Подскажите - в чём дело?
в ошибке в программе )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.01.2019, 11:48   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от cupoma58 Посмотреть сообщение
Код арифмометра этот сайт не принимает - превышен лимит на символы, но можно посмотреть по указанной ссылке.
Архиватор. Знаете такое слово? Текстовой файл?
p51x вне форума Ответить с цитированием
Старый 18.01.2019, 11:52   #6
cupoma58
Пользователь
 
Аватар для cupoma58
 
Регистрация: 12.08.2014
Сообщений: 44
По умолчанию

Цитата:
Сообщение от cupoma58 Посмотреть сообщение
Здравствуйте. Сделал арифмометр (http://cupoma58.ru/assembler.html) для целых и дробных положительных чисел. Он заработал...с целыми числами, для дробных - возникли проблемы с точностью результата:
Код:
  7 : 2 = 3.5 * 2 = 6.5999      30.5 * 2 = 60     35.5 * 2 = 71
  9 : 2 = 4.5 * 2 = 8.8000      50.5 * 2 = 100    55.5 * 2 = 111   
 11 : 2 = 5.5 * 2 = 11          и т.д.
 13 : 2 = 6.5 * 2 = 13.1999
 15 : 2 = 7.5 * 2 = 15.3999
Погрешность появляется вместе с дробной частью. Я подумал, что это связано с округлением и
попробовал изменить настройку слова управления сопроцессора - ничего не изменилось.
И на числа меньше единицы арифмометр реагирует как на ноль.
Подскажите - в чём дело?
Тема закрыта.
cupoma58 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP, тип Double - точность вычислений vinniepooh PHP 25 13.01.2016 20:32
Точность вычислений обратной матрицы методом Карамера FlaringSoul Паскаль, Turbo Pascal, PascalABC.NET 3 14.05.2013 00:21
Точность вычислений aly-lucenko Фриланс 1 02.05.2011 21:38
Сопроцессор Max-R Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 19 18.06.2009 23:52