当我意识到一些奇怪的事情时,我正在统一编写一个脚本,在完成脚本后,我在视觉工作室控制台项目中测试了我的实现。
class Program
{
static void Main(string[] args)
{
Console.WriteLine(-3.5 % 1);
Console.WriteLine(3.5 % (-1));
}
}
输出是:
-0.5
0.5
在这两种情况下模数运算符不应该给我 -0.5 吗?
C# 的 % 运算符实际上是一个余数——因此它只是返回除法剩下的部分。其中最重要的部分是余数仅受分子符号的影响,而不受除数的影响。
在 3.5 为正数的情况下,3 将完全除尽,还剩下 0.5——如果是 -3.5,则 -3 将完全除尽,还剩下 -0.5。无论除以 -1 还是 1,都不会影响结果,余数将相同,并且仅受数字本身的符号影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)