ALU, двойной и инт - PullRequest
       24

ALU, двойной и инт

0 голосов
/ 08 октября 2018

Иногда, при написании кода, такие ситуации

 (double)Number1/(int)Number2     //division of a double type varible by a int one.

мне кажутся (и я думаю, всем вам более или менее часто), и я никогда не знаю, что на самом деле происходит, если я переписываю (дважды)over (int).

    (double)Number1/(double)Number2

Одинаково ли исполнение?А точность?И время, затраченное на его выполнение ... Изменения?Разве компилятор, в общем случае (если можно так сказать), записывает один и тот же двоичный файл.т.е. exe-файл?Меняется ли вызываемый оператор ALU?

Я полагаю, что формальный ответ будет зависеть от архитектуры машины, компилятора и языка и многих других вещей.Но ... В этих случаях, как иметь представление о том, что произойдет в «моем коде» и какой выбор будет лучше (если есть заметная разница)?

Спасибо всем за ваши ответы!

1 Ответ

0 голосов
/ 08 октября 2018

Точность может быть разной.

Например, если Number2 изначально является double, преобразование его в int с (int)Number2 до того, как подразделение может потерять много информации,путем усечения любых битов после двоичной точки и усечения любых целых битов, которые не вписываются в int.

...