gpt4 book ai didi

c# - 为什么 C# 中的整数除法返回整数而不是 float ?

转载 作者:IT王子 更新时间:2023-10-29 03:34:03 24 4
gpt4 key购买 nike

有谁知道为什么 C# 中的整数除法返回整数而不是 float ?它背后的想法是什么? (难道只是C/C++的遗留问题?)

在 C# 中:

float x = 13 / 4;   
//== operator is overridden here to use epsilon compare
if (x == 3.0)
print 'Hello world';

这段代码的结果是:

'Hello world'

严格来说,不存在整数除法(除法定义为产生有理数的运算,整数是其中非常小的一个子集。)

最佳答案

虽然新程序员在实际打算使用浮点除法时犯下执行整数除法的错误是很常见的,但在实际操作中整数除法是一种非常常见的操作。如果您假设人们很少使用它,并且每次执行除法时都需要记住转换为 float ,那您就错了。

首先,整数除法要快得多,所以如果您只需要一个整数结果,人们会希望使用更高效的算法。

其次,有许多算法使用整数除法,如果除法的结果始终是 float ,则每次都必须对结果进行四舍五入。我想到的一个例子是改变数字的底数。计算每个数字涉及数字的整数除法和余数,而不是数字的 float 除法。

由于这些(和其他相关的)原因,整数除法得到一个整数。如果你想得到两个整数的浮点除法,你只需要记住将一个转换为 double/float/decimal .

关于c# - 为什么 C# 中的整数除法返回整数而不是 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com