@Neonoviiwolf
Flutter developer

Влияет ли на скорость вычисления сколько знаков в double?

Доброго дня, стало интересно, есть ли разница при умножении/делении в затратах ресурсов процессора, к примеру:
0.2*0.2 или 0.2*0.2000002 или 0.220022*0.2331564654

То бишь скок чисел после запятой?
Если теги не правильно задал, поправте
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Обычно - не влияет. Во-первых, все эти числа в двоичной записи имеют практически одинаковое количество занятых бит - вся мантисса. Во-вторых, операцию выполняет аппаратный блок - ему параллельно единицы ли там или нули в битах.

Но, если процессор не умеет в операции с числами с плавающей точкой, то будет программная эмуляция - и там уже может зависеть.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Алгоритм там не простой, но итеративный, а количество итераций зависит от значений бит. А значит количество знаков после запятой влияет на скорость умножения, причем не только их количество, но и значения самих цифр. И в добавок ко всему делаются проверки на переполнение, корректировки, установка флагов и тд.
window.edu.ru/resource/957/74957/files/A_d_p.pdf (стр. 73)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы