ALU,双精度和整数

ALU, double and int

有时候写代码,遇到这样的情况

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

对我来说(而且我想,对你们所有人来说或多或少)而且我永远不知道如果我重写 (double) over (int) 会发生什么。

    (double)Number1/(double)Number2

性能一样吗?精度呢?以及执行它所花费的时间......变化?编译器是否在一般情况下(如果可以这样说)编写相同的二进制文件。一世。例如,exe 文件?被调用的ALU算子有变化吗?

我相信正式的答案将取决于机器、编译器和语言的体系结构以及更多的东西。但是......在这些情况下,如何了解 "my code" 中会发生什么以及哪种选择会更好(如果存在明显差异)?

谢谢大家的回复!

精度可以不同。

例如,如果 Number2 最初是 double,则在除法之前将其转换为 int(int)Number2 会通过截断丢失大量信息二进制小数点后的任何位,并截断任何不适合 int.

的整数位