gpt4 book ai didi

C# 相当于 IEEE 754 余数 ()?

转载 作者:太空狗 更新时间:2023-10-30 01:17:08 31 4
gpt4 key购买 nike

在 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);
}
}

http://ideone.com/GBITYq

而类似的 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;
}

http://ideone.com/HpuIVr

最佳答案

此方法实现了 IEEE 754 余数算法:

Math.IEEERemainder(double, double)

public class Test
{
public static void Main()
{
Console.WriteLine(Math.IEEERemainder(5.0, 2.0));
Console.WriteLine(Math.IEEERemainder(3.0, 2.0));
}
}

// Output: 1, -1

http://ideone.com/b2Lvfx

关于C# 相当于 IEEE 754 余数 ()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807685/

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