ホームページ  >  記事  >  バックエンド開発  >  C# の数学関数

C# の数学関数

王林
王林オリジナル
2024-09-03 15:14:05325ブラウズ

C# の数学ライブラリは、数学におけるさまざまな一般関数、三角関数、統計関数、対数関数とプロパティを開発者に提供します。これはプラグアンドプレイですぐに使用できるライブラリです。ライブラリは、C# のスーパー親クラスである Object クラスを継承します。これは System 名前空間に存在します。

注: 心に留めておくべき非常に重要なことの 1 つは、Math クラスのプロパティとメソッドはすべて静的であるということです。つまり、それらを呼び出すために Math クラスのオブジェクトを作成する必要はありません。

C# の数学プロパティ

数学ライブラリのさまざまな数学的プロパティを見てみましょう。

1. E4

E は対数の底であり、数式では小文字「e」で指定されます。この静的プロパティは、自然対数の底の値を保持します。

コード:

using System;
public class Program
{
public static void Main()
{
Console.WriteLine("The value of logarithmic base E is " + Math.E);
}
}

出力:

C# の数学関数

2.ピ

Pi は、一般に記号 p と書かれ、円の円周と直径の比 (約 3.14) です。この静的定数は p の値を保持します。

コード:

using System;
public class Program
{
public static void Main()
{
Console.WriteLine("The value of PI is " + Math.PI);
}
}

出力:

C# の数学関数

C# 数学関数

自由に利用できる C# Math ライブラリのさまざまな数学関数を見てみましょう。

1.絶対-絶対関数

指定された数値 (整数、10 進数、浮動小数点など) の絶対値を返します。数値の絶対値は、0 以上で数値自体以下の最大の 10 進数値です。

コード:

using System;
public class Program
{
public static void Main()
{
int num1 = 231;
double num2 = -1.23456789;
Console.WriteLine("The absolute value of {0} is {1} ", num1,  Math.Abs(num1));
Console.WriteLine("The absolute value of {0} is {1} ", num2,  Math.Abs(num2));
}
}

出力:

C# の数学関数

2. BigMul-大きな乗算

この関数は、2 つの非常に大きな整数の完全な乗算結果を返します。 2 つの 32 ビット整数を受け取り、64 ビットの乗算結果を返します。

コード:

using System;
public class Program
{
public static void Main()
{
int num1 = Int32.MaxValue;
Console.WriteLine("Multiplication of {0}x{0} without Math function - {1}",num1, num1*num1);
Console.WriteLine("Multiplication of {0}x{0} by Math BigMul function - {1}",num1, Math.BigMul(num1, num1));
}
}

出力:

C# の数学関数

3.床と天井

floor() 関数と Ceiling() 関数は、指定された数値の下限値と上限値を返します。数値の下限値は、数値自体以下の最大の整数です。数値の上限値は、その数値以上の最小の整数です。

コード:

using System;
public class Program
{
public static void Main()
{
double num1 = 548.65;
Console.WriteLine("Floor value of {0} is {1}", num1, Math.Floor(num1));
Console.WriteLine("Ceil value of {0} is {1}", num1, Math.Ceiling(num1));
}
}

出力:

C# の数学関数

4.シン、コス、タン

これらの三角関数は、指定された角度のサイン、コサイン、タンジェントの値を提供します。

コード:

using System;
public class Program
{
public static void Main()
{
double angle = 120.5;
Console.WriteLine("Sine value of {0} is {1}", angle, Math.Sin(angle));
Console.WriteLine("Cosine value of {0} is {1}", angle,Math.Cos(angle));
Console.WriteLine("Tangent value of {0} is {1}", angle, Math.Tan(angle));
}
}

出力:

C# の数学関数

5.シン、コシュ、タン–ハイパーボール

これらの三角関数は、指定された角度の双曲線サイン、コサイン、タンジェントの値を提供します。

コード:

using System;
public class Program
{
public static void Main()
{
double angle = 120.5;
Console.WriteLine("Hyperbolic Sine value of {0} is {1}", angle, Math.Sinh(angle));
Console.WriteLine("Hyperbolic Cosine value of {0} is {1}", angle, Math.Cosh(angle));
Console.WriteLine("Hyperbolic Tangent value of {0} is {1}", angle,Math.Tanh(angle));
}
}

出力:

C# の数学関数

6.アシン、アコス、アタン

これらの三角関数は、指定された数値がサイン、コサイン、またはタンジェントの値となる角度を返します。

コード:

using System;
public class Program
{
public static void Main()
{
double value = 1;
Console.WriteLine("The angle of sin({0}) is {1}", value, Math.Asin(value));
Console.WriteLine("The angle of cos({0}) is {1}", value, Math.Acos(value));
Console.WriteLine("The angle of tan({0}) is {1}", value, Math.Atan(value));
}
}

出力:

C# の数学関数

7. DivRem – 割り算と余り

この関数は、2 つの整数の除算の結果を計算します。結果は小数値では返されません。むしろ、商は関数の戻り値として返され、剰余は出力パラメータとして返されます。

コード:

using System;
public class Program
{
public static void Main()
{
int divisor = 8;
int dividend = 45;
int remainder = 0;
int quotient = Math.DivRem(dividend, divisor, out remainder);
Console.WriteLine("{0} divided by {1} results in {2} as the quotient and {3} as the remainder.", dividend, divisor, quotient, remainder);
}
}

出力:

C# の数学関数

8.指数-指数

exp 関数は、e を指定された数値で乗って返します。

コード:

using System;
public class Program
{
public static void Main()
{
int power = 4;
Console.WriteLine("{0} to the power of {1} is {2}.", Math.E, power, Math.Exp(power));
}
}

出力:

C# の数学関数

9. Log、Log2、および Log10-対数

log 関数は、指定された数値の指定された底に対する対数を返します。底が指定されていない場合、デフォルトの底は e となり、自然対数になります。

注: Log2 は .Net Core で導入されました。このメソッドは .Net Framework では使用できません。

コード:

using System;
public class Program
{
public static void Main()
{
double num1 = 4.5;
int new_base = 12;
Console.WriteLine("Log({0}) to the base 'e' is {1}.", num1, Math.Log(num1));
Console.WriteLine("Log({0}) to the base 10 is {1}.", num1,Math.Log10(num1));
Console.WriteLine("Log({0}) to the base 2 is {1}.", num1,Math.Log(num1, 2));
Console.WriteLine("Log({0}) to the base {1} is {2}.", num1,new_base, Math.Log(num1, new_base));
}
}

出力:

C# の数学関数

10.最小値と最大値

これらの関数は、指定された 2 つの数値を比較し、2 つの数値のうち小さい方の数値または大きい方の数値を返します。

コード:

using System;
public class Program
{
public static void Main()
{
double num1 = 4.5;
double num2 = -3.4;
int num3 = 981;
int num4 = 123;
Console.WriteLine("Minimum of {0} and {1} is {2}.", num1, num2,Math.Min(num1, num2));
Console.WriteLine("Maximum of {0} and {1} is {2}.", num1, num2,Math.Max(num1, num2));
Console.WriteLine("Minimum of {0} and {1} is {2}.", num3, num4,Math.Min(num3, num4));
Console.WriteLine("Maximum of {0} and {1} is {2}.", num3, num4,Math.Max(num3, num4));
}
}

出力:

C# の数学関数

11. Pow-Power

The pow() function returns the specified number to the specified power.

Code:

using System;
public class Program
{
public static void Main()
{
int num1 = 11;
double num2 = 3.4;
Console.WriteLine("{0} to the power {1} is {2}.", num1, num2, Math.Pow(num1, num2));
Console.WriteLine("The cube of {0} is {1}.", num1, Math.Pow(num1, 3));
}
}

Output:

C# の数学関数

12. Round

The round() function, as the name suggests, rounds the specified number to the nearest integer or specified decimal places after the integer.

There are a few important variations of round() function. It takes either two or three arguments.

  1. The first argument is the number to be rounded.
  2. The second argument is the number of digits after the decimal point. If this is not specified, the number is rounded to the nearest integer.
  3. The third argument is the mode of rounding. This is an enumeration of two values derived accessed from the enum MidpointRounding.

The two modes are:

  • AwayFromZero: When a number falls halfway between two numbers, it is rounded to the nearest number which is farther from zero.
  • ToEven: When a number falls halfway between two numbers, it is rounded to the nearest even number.

If not specified, the mode AwayFromZero is the default mode.

Code:

using System;
public class Program
{
public static void Main()
{
double num1 = 2.45;
double num2 = 24.5;
Console.WriteLine("{0} rounded to the nearest integer is {1}", num1, Math.Round(num1));
Console.WriteLine("{0} rounded to the nearest single-point decimal is {1}", num1, Math.Round(num1, 1));
Console.WriteLine("{0} rounded to the nearest single-point decimal away from zero is {1}", num1, Math.Round(num1, 1, MidpointRounding.AwayFromZero));
Console.WriteLine("{0} rounded to the nearest single-point decimal to even is {1}", num1, Math.Round(num1, 1, MidpointRounding.ToEven));
Console.WriteLine("\n{0} rounded to the nearest integer away from zero is {1}", num2, Math.Round(num2, MidpointRounding.AwayFromZero));
Console.WriteLine("{0} rounded to the nearest integer to even is {1}", num2, Math.Round(num2, MidpointRounding.ToEven));
}
}

Output:

C# の数学関数

13. Sqrt-Square Root

This function returns the square root of the given number.

Code:

using System;
public class Program
{
public static void Main()
{
int num1 = 196;
double num2 = 404.1;
Console.WriteLine("Square root of {0} is {1}.", num1,Math.Sqrt(num1));
Console.WriteLine("Square root of {0} is {1}.", num2, Math.Sqrt(num2));
}
}

Output:

C# の数学関数

14. Truncate

The truncate function returns an integral part of the specified number. So, in simple terms, it discards anything after the decimal point and returns everything before the decimal point.

Note: Note that this is different from Round function. The round function returns an integer nearest to the number. It may be an integer greater than the number itself. Whereas, Truncate function would always return the integer part of the number as is. E.g. – Round(4.9) results in 5. Truncate(4.9) results in 4.

Code:

using System;
public class Program
{
public static void Main()
{
double num1 = 404.92;
Console.WriteLine("Truncated value of {0} is {1}.", num1, Math.Truncate(num1));
Console.WriteLine("Rounded-off value of {0} is {1}.", num1, Math.Round(num1));
}
}

Output:

C# の数学関数

Conclusion

This article covered almost all the mathematical functions provided in the C# Math library. This library proves to be very useful due to the plug-n-play mathematical properties and functions, thereby making development easier.

以上がC# の数学関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:C# 文字列関数次の記事:C# 文字列関数