ZetCode

C# 数学

最后修改于 2023 年 7 月 5 日

在本文中,我们将介绍 System.Math 中常用的数学函数。

System.Math 提供了三角函数、对数和其他常用数学函数的常量和静态方法。

C# Math.Abs

Math.Abs 函数返回指定数字的绝对值。一个数的绝对值是该数去掉符号后的值。

Program.cs
var vals = new int[] { -1, 2, 0, -3, -2, 9, 7 };

foreach (var e in vals)
{
    Console.WriteLine(Math.Abs(e));
}

Console.WriteLine("-----------------");

int sum = 0;

foreach (var e in vals)
{
    sum += e;
}

Console.WriteLine(sum);

sum = 0;

foreach (var e in vals)
{
    sum += Math.Abs(e);
}

Console.WriteLine(sum);

我们有一个整数数组。首先,我们打印所有整数的绝对值。然后我们计算所有值的总和以及所有绝对值的总和。

$ dotnet run
1
2
0
3
2
9
7
-----------------
12
24

C# Math.Ceiling & Math.Floor

Match.Ceiling 函数计算大于或等于 x 的最小整数。 Math.Floor 函数返回小于或等于 x 的最大整数。

Program.cs
decimal[] vals = { 6.07m, 6.64m, 0.12m, -0.12m, -6.13m, -6.65m };

Console.WriteLine("{0,7} {1,16} {2,14}",
    "Numer", "Ceiling", "Floor");

foreach (var e in vals)
{
    Console.WriteLine("{0,7} {1,16} {2,14}",
        e, Math.Ceiling(e), Math.Floor(e));
}

在此示例中,我们在小数数组上使用 Math.CeilingMath.Floor 函数。

$ dotnet run
Numer          Ceiling          Floor
6.07                 7              6
6.64                 7              6
0.12                 1              0
-0.12                0             -1
-6.13               -6             -7
-6.65               -6             -7

C# Math.Pow, Math.Sqrt, & Math.Cbrt

Math.Pow 函数返回指定的数字的指定次幂。 Math.Sqrl 返回指定数字的平方根。 Math.Cbrt 返回指定数字的立方根。

Program.cs
int x = 3;
int y = 81;

double res = Math.Pow(x, 5);
Console.WriteLine(res);

res = Math.Sqrt(y);
Console.WriteLine(res);

res = Math.Cbrt(y);
Console.WriteLine(res);

在此示例中,我们使用幂、平方根和立方根函数。

$ dotnet run
243
9
4.326748710922225

C# Math.BigMul

Math.BigMul 用于计算大数。

Program.cs
long res = Math.BigMul(int.MaxValue, int.MaxValue);
Console.WriteLine(res);

long res2 = (long) int.MaxValue * int.MaxValue;
Console.WriteLine(res2);

此示例计算两个大整数的乘积。

$ dotnet run
4611686014132420609
4611686014132420609

C# Math.DivRem

Math.DivRem 计算并返回商和余数。

Program.cs
int x = 10;
int y = 3;

int rem = 0;
double quo = Math.DivRem(x, y, out rem);

Console.WriteLine($"Quotient: {quo} Remainder: {rem}");

quo = x / y;
rem = x % y;

Console.WriteLine($"Quotient: {quo} Remainder: {rem}");

在此示例中,我们使用 Math.DivRem 以及 %/ 运算符来计算商和余数值。

$ dotnet run
Quotient: 3 Remainder: 1
Quotient: 3 Remainder: 1

C# Math.PI

数字 π 是一个数学常数,它是一个圆的周长与其直径的比率。

Program.cs
double radius = 5;

double circumference = 2 * Math.PI * radius;
Console.WriteLine(circumference);

double area = Math.PI * Math.Pow(radius, 2);
Console.WriteLine(area);

借助 Math.PI 常量和 Math.Pow 函数,我们计算圆的周长和面积。

$ dotnet run
31.41592653589793
78.53981633974483

来源

Math 类 - 语言参考

在本文中,我们介绍了 System.Math 中常用的数学函数。

作者

我叫 Jan Bodnar,是一位充满热情的程序员,拥有丰富的编程经验。 我自 2007 年以来一直在撰写编程文章。 迄今为止,我已经撰写了 1,400 多篇文章和 8 本电子书。 我拥有超过十年的编程教学经验。

列出所有 C# 教程