МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: Арифметические действия над дробными числами.

Арифметические действия над дробными числами. 1 год 5 мес. назад #7283

  • Bermud
  • Bermud аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 0
День добрый!
Объясните пожалуйста , как можно реализовать сложение, вычитание или умножение целого числа на дробное десятичное.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Арифметические действия над дробными числами. 1 год 5 мес. назад #7297

Т.е. на целое умножать и делить уже получается и проблема только с запятой? И еще вопрос - Вы имеете в виду аппаратно, т.е. средствами ПЛИС делить или как это делается софтово?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Арифметические действия над дробными числами. 1 год 5 мес. назад #7300

  • Bermud
  • Bermud аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 0
Ну конечно делить с отбросом остатка( что тоже не есть хорошо). Ну как я почитал разные проекты там говорят что не умножать не делить на десятичную дробь нельзя и приходится представлять её в виде обычной дроби. И тогда получается наклёвывается ещё 1 вопрос можно ли делить без отброса остатка? И да уклон делать на аппаратную реализацию (именно в самом плис, а не моделирвоание на софте)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Bermud.

Арифметические действия над дробными числами. 1 год 5 мес. назад #7301

не совсем понятно, что Вы имеете в виду под обычной дробью применительно к машинному представлению чисел. как вы в машине храните 2/3 , например? и как на них делите? есть различные форматы представления чисел в машине. Например с плавающей запятой. Делите мантиссы, вычитаете порядок делителя. Деление мантисс аппаратно будет похоже на деление чисел с фиксированной запятой или даже целых. В любом случае это будет последовательность или конвейер из вычитаний, сравнений и сдвигов. Раньше вообще без аппаратной поддержки дробных чисел обходились прекрасно в низкоуровневом программировании на слабых процессорах - применяли масштабированную целочисленную арифметику - просто за единицу принимают какое-то большое "круглое" число, например, 1024, тогда 0,5 будут равны обычным 512. За положением запятой и потерей точности следили программисты или следили, чтобы после каждого умножения стояло деление. Иначе 1x1 выглядело как 1024x1024=1048576, например. А 1x1/1 выглядело корректно т.к. 1024x1024/1024=1024. Если у Вас целые числа делить уже получается, то осталось только правильно подобрать формат хранения чисел под Вашу задачу.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.132 секунд

facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Forum Наш форум Языки программирования Арифметические действия над дробными числами.