Как сделать математику с фиксированной запятой вместо плавающей? - PullRequest
0 голосов
/ 01 апреля 2011

Я не математический дядя, но настоящий сказал мне это:

"использовать фиксированную точку вместо плавающей указать, чтобы сделать умножение, деление, суммирование, тригонометрия и интеграция "

Так что вместо использования типов данных типа double или float, что мне делать? У кого-нибудь есть удобный фрагмент или ссылка, которая показывает разницу для дядей, не являющихся математиками?

Ответы [ 3 ]

2 голосов
/ 01 апреля 2011

Проверьте ниже ссылку для фиксированной точки, я уверен, что это будет полезно для вас ...

http://cnx.org/content/m11054/latest/

http://www.digitalsignallabs.com/fp.pdf

2 голосов
/ 01 апреля 2011

Сам язык не поддерживает ничего, кроме целых чисел и значений с плавающей точкой.Однако вы можете легко смоделировать значения с фиксированной точкой целыми числами.Если вы, например, решите, что вам нужно значение с фиксированной точкой с тремя десятичными знаками, вы можете использовать, например, 12345, чтобы представить 12,345.Дополнение прямолинейно, и вы, несомненно, сможете решить, как выразить другие основные операции.

Однако поддержка тригонометрии и т. Д. Не поддерживается *

0 голосов
/ 02 апреля 2011

Кто бы ни был "математический дядя", он ошибается.

Если вы действительно не понимаете, что делаете, какая бы реализация с фиксированной точкой вы ни придумали, не будет более точнойот использования нативной двойной точности и системной математической библиотеки.Если бы вы действительно поняли, что делаете, вы бы не задавали вопрос.

Так что не беспокойтесь об этом.Используйте double.Если вы сталкиваетесь с проблемами точности, сначала поймите их и заботитесь только о том, как их избежать после того, как вы поймете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...