C#における数値計算は、基礎的な算術演算子のほかに、Mathクラスの数値演算関数があります。
  算術演算子については、「C#の基礎」で述べましたので、ここでは、Mathクラスの関数を説明します。
  Mathクラスは、ネームスペースSystem.Math内で定義されています。
ネームスペース System.Mathは、Vidual Studioでデフォル
 トには指定されていませんので、プログラム冒頭でusingディレクティブで導入する必要があります。

  


  三角関数 を使う
  対数関数を使う
  指数関数を使う
  その他の数値関数


三角関数 を使う
   
  周期的(サイクリック)な事象を取り扱う場合、三角関数はよく用いられる関数です。

       まず、基本的関数として、サイン、コサイン、タンジェントがあります。
       C#で扱える浮動小数点数は倍精度(double  有効桁 16桁程度)ですので、
高精度の科学技術計算には物足りない面がありますが、
 
 画面上への図形表示など、一般的な用途では特に問題になりません。
  
        using System.Math;

        double s,c,t;
        double deg=45.0; //45°
        s=Sin( deg*3.141592/180.0); //サイン値の取得
        c=Cos( deg*3.141592/180.0); //コサイン値の取得
        t=Tan( deg*3.141592/180.0); //タンジェクト値の取得
    
        三角関数の( )内に入る数値は、すべてラジアン単位である点に注意しておいてください。上記の例では、デグリー(度)単位からラジアン単
   位へ換算しています。

        次にSin,Cos,Tanの逆関数であるアークサイン、アークコサイン、アークタンジェントの使用例は次のとおりです。

        using System.Math;

        double degs,degc,degt;
        degs=Asin(0.5); //サインが1/2となる角度をラジアン単位でdegsに代入
 
       degc=Acos(0.5); //コサインが1/2となる角度をラジアン単位でdegcに代入
       degt=Atan(1.0); //タンジェントが1となる角度をラジアン単位でdegtに代入

    三角関数の関連として双曲線(ハイパボリック)関数についても触れます。
    初等的な数学の講義で恐縮ですが、(Cos(x),Sin(x))が単位円上の点の座標値を表すのに対し、座標(Cosh(x),Sinh(x))は、双 曲線上
  の座標値を表します。
    双曲線関数の用途は、一部の工学分野など限られますが、その記述例は次のとおりです。
 
        using System.Math;

        double sh,ch,th;
        double deg=45.0; //45°
        sh=Sinh( deg*3.141592/180.0); //ハイパボリックサイン値の取得
        ch=Cosh( deg*3.141592/180.0); //ハイパボリックコサイン値の取得
        th=Tanh( deg*3.141592/180.0); //ハイパボリックタンジェクト値の取得

 
対数関数を使う
   対数の底により、常用対数と自然対数に分かれます。使用例は次のとおりです。

        double l10,le;
        l10=Log10(1000); //底10の常用対数。l10=3となる。
        le  =Log(1);         //底e の常用対数。le=0となる。
 
    
指数関数を使う
     
指数関数の使用例は次のとおりです。指数に0<y<1の正 数を指定すると、ルート計算をすることができます。

        double v,x,y;
        x=5.0;
        y=2.0;
        v=Pows(x,y); // 5の2乗をvに代入。
        y=0.5;
        v=Pows(x,y); // 5の平方根をvに代入。

 
     平方根については、Sqrt関数を使うこともできます。
        v=Sqrt(x); //
5の平方根をvに代入。


その他の数値関数
     
Mathクラスで用意されているその他の主な数値関数を列記すると次 のとおりです。
       
コー ド
説 明
v=Abs(x); xの絶対値をvに代入
v=Ceiling(x);
x以上の最少の整数を vに代入
v=Floor(x);
x以下の最大の整数を vに代入
v=Max(x,y);
xとyの大きい方の値をvに代入
v=Min(x,y); xとyの小さい方の値をvに代入
v=Round(x,y); xをyで示す小数点以下桁数で丸める。
v=Sign(x); xが正ならv=1、xが負ならv=-1、x がゼロならv=0