Сейчас я смотрю на конкретный алгоритм вычисления квадратного корня, который возвращает целую часть квадратного корня и остаток.
Так, например: mysqrt(140) = 11*11 + 19 = integer 11, remainder 19
Вопросможно ли вычислить квадратный корень как число с плавающей точкой, например квадратный корень из 140 равен ~ 11,8321 ....?
редактировать из комментариев
Я смотрю наVHDL-реализация квадратного корня с фиксированной точкой, которая использует только двоичные операции, такие как сдвиг влево / вправо, сложение и вычитание.
... алгоритма будет достаточно.
РЕДАКТИРОВАТЬ 2 Я на самом деле читаю этот алгоритм здесь: http://pioneer.netserv.chula.ac.th/~achatcha/Publications/0012.pdf
Кажется, что лучшая точность может быть достигнута путем сдвига влево радиканду на 2n.Я не совсем уверен, почему это работает?Может ли кто-нибудь, пожалуйста, объясните мне