Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Числа с фиксированной точкой в своих комментариях я отмечаю как QN.M, где N — разрядность числа, M — количество разрядов после запятой.Получилось практически как в фортране. Там в форматах вывода используют такую же логику.
In other words: the rule is that you really shouldn't use FP in the kernel.
Например, q32.15 * q16.4 = q48.19. Сразу видно, что для полного представления результата надо 48-бит. Во второй нотации запись выглядит как q16.15 * q12.4 = q28.19
<.blockquote>
Здесь для 16-тибитного числа вроде должно получиться q11.4, а не q12.4? Нет? Или я не правильно понял принцип 2-ой Q-нотации
И еще немного позанудствую.
В вычислительной математике дробные значения представляют в виде пары целых чисел (n, e): мантиссы и экспоненты.
Все же по-русски это мантисса и показатель степени.
Если экспонента переменная, записываемая в регистр и неизвестная при компиляции, (n, e) называют числом с плавающей запятой. Если экспонента известна заранее, (n, e) называют числом с фиксированной точкой.
ИМХО следует использовать один вариант выражения: либо точка, либо запятая.
Вычисления с фиксированной точкой. Основные принципы (ч.1)