【发布时间】:2015-09-27 12:03:32
【问题描述】:
在 C# 中,是否存在与 C99 / IEEE 754 的 remainder() 函数完全等效的函数?
C# language specification says 即operator %(double x, double y)“类似于用于整数操作数,但不同于 IEEE 754 定义(其中n 是最接近x / y 的整数)”。
举个不同的例子,这个 C# 程序输出两个 1:
using System;
public class Test
{
public static void Main()
{
Console.WriteLine(5.0 % 2.0);
Console.WriteLine(3.0 % 2.0);
}
}
而类似的 C 程序输出 1 和 -1:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("%f\n", remainder(5.0, 2.0));
printf("%f\n", remainder(3.0, 2.0));
return EXIT_SUCCESS;
}
【问题讨论】:
-
您在寻找this吗?
-
您可能正在寻找 Math.IEEERemainder() 方法。
标签: c# .net c99 ieee-754 modulus