-
Bermud
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 7
-
Спасибо получено: 0
-
-
|
День добрый!
Объясните пожалуйста , как можно реализовать сложение, вычитание или умножение целого числа на дробное десятичное.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Chaosorg
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
Т.е. на целое умножать и делить уже получается и проблема только с запятой? И еще вопрос - Вы имеете в виду аппаратно, т.е. средствами ПЛИС делить или как это делается софтово?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Bermud
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 7
-
Спасибо получено: 0
-
-
|
Ну конечно делить с отбросом остатка( что тоже не есть хорошо). Ну как я почитал разные проекты там говорят что не умножать не делить на десятичную дробь нельзя и приходится представлять её в виде обычной дроби. И тогда получается наклёвывается ещё 1 вопрос можно ли делить без отброса остатка? И да уклон делать на аппаратную реализацию (именно в самом плис, а не моделирвоание на софте)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Bermud.
|
-
Chaosorg
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
не совсем понятно, что Вы имеете в виду под обычной дробью применительно к машинному представлению чисел. как вы в машине храните 2/3 , например? и как на них делите? есть различные форматы представления чисел в машине. Например с плавающей запятой. Делите мантиссы, вычитаете порядок делителя. Деление мантисс аппаратно будет похоже на деление чисел с фиксированной запятой или даже целых. В любом случае это будет последовательность или конвейер из вычитаний, сравнений и сдвигов. Раньше вообще без аппаратной поддержки дробных чисел обходились прекрасно в низкоуровневом программировании на слабых процессорах - применяли масштабированную целочисленную арифметику - просто за единицу принимают какое-то большое "круглое" число, например, 1024, тогда 0,5 будут равны обычным 512. За положением запятой и потерей точности следили программисты или следили, чтобы после каждого умножения стояло деление. Иначе 1x1 выглядело как 1024x1024=1048576, например. А 1x1/1 выглядело корректно т.к. 1024x1024/1024=1024. Если у Вас целые числа делить уже получается, то осталось только правильно подобрать формат хранения чисел под Вашу задачу.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.106 секунд