ALU,double和int

时间:2018-10-08 00:41:54

标签: precision alu

有时候,编写代码,出现类似情况

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

出现在我身上(并且我认为,或多或少地出现在你们所有人身上),而且我不知道如果我将(int)重写为(int),会发生什么。

    (double)Number1/(double)Number2

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

我相信,正式的答案将取决于机器,编译器和语言的体系结构以及更多其他内容。但是...在这些情况下,如何对“我的代码”中会发生什么以及如何选择会更好(如果存在明显差异)有一个看法?

谢谢大家的答复!

1 个答案:

答案 0 :(得分:0)

精度可以不同。

例如,如果Number2最初是double,则在除法之前可能会通过截断任意位而用int将其转换为(int)Number2int在二进制点之后,并截断public decimal Threshold { get; set; } public decimal Value{ get; set; } 中不适合的所有整数位。