类库探源——System.Math 和 Random

一、System.Math

Math类:为三角函数、对数函数和其他通用数学函数提供常数和静态方法

命名空间: System

程序集 :   mscorlib.dll

继承关系:

常用属性:

Math.E     表示自然对数的底(e)

Math.PI    圆周率(π)

常用方法:

Math.Abs(整数、浮点数)                绝对值

Math.Sin                                    正弦

Math.Cos                                    余弦

Math.Tan                                   正切

Math.Asin                                  反正弦

Math.Acos                                  反余弦

Math.Atan                                 反正切

Math.Max                                  返回较大数

Math.Min                                  返回较小数

Math.Pow                                  求幂

Math.Sqrt                                 平方根

Math.Log(double d)                   以(e)为底的自然对数

Math.Log10(double d)                以10为底的对数

Math.Log(double a,double newBase)          求以newBase为底的a的对数

代码:

using System;

class App
{
    static void Main()
    {
        // Math的常用属性和方法
        Console.WriteLine(Math.E);
        Console.WriteLine(Math.PI);
        Console.WriteLine(Math.Abs(-11));
        Console.WriteLine(Math.Sqrt(3));    // 平方根
        Console.WriteLine(Math.Pow(3,4));  // 81
        Console.WriteLine(Math.Log(81,3));    // 以3为底的81的对数
        Console.WriteLine(Math.Log10(100));    // 2
        Console.WriteLine(Math.Log(100));    // 自然对数
        Console.WriteLine(Math.Max(12,11.2)); // 12
        Console.WriteLine(Math.Min(12,11.2)); // 11.2
        
        // 角度换弧度 已知 Sin(90°) = 1 Cos(90°)=0 Tan(45°) = 1
        double angle_90    = Math.PI * 90.0 / 180.0;
        double angle_45    = Math.PI * 45.0 / 180.0;
        Console.WriteLine(angle_90);        
        Console.WriteLine(angle_45);
        
        // 注意浮点数和参考值比较是 Abs(Value - 参考值) < eps 的模式
        Console.WriteLine(Math.Cos(angle_90));    
        Console.WriteLine(Math.Sin(angle_90));
        Console.WriteLine(Math.Tan(angle_45));
    }
}

二、System.Random

Random 类:表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备

命名空间: System

程序集:   mscorlib.dll

继承关系:

备注:

伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,因为它们是用一种确定的数学算法选择的,但是从实用的角度而言,其随机程度已足够了

构造器:

Random()   

Random(Int32)  

常用实例方法:

Next()                   返回非负随机数

Next(Int32)           返回小于指定数的非负随机数

Next(Int32,Int32)   返回一个在制定范围内的非负随机数

NextDouble            返回一个介于 0.0 和 1.0 之间的随机数

代码:

using System;

class App
{
    static void Main()
    {
        Random r1 = new Random();
        Random r2 = new Random(93);
        
        Console.WriteLine(r1.Next());
        Console.WriteLine(r1.Next(45));
        Console.WriteLine(r1.Next(32,45));
        Console.WriteLine(r1.NextDouble());
        Console.WriteLine();
        
        Console.WriteLine(r2.Next());
        Console.WriteLine(r2.Next(45));
        Console.WriteLine(r2.Next(32,45));
        Console.WriteLine(r2.NextDouble());
    }
}

原文地址:https://www.cnblogs.com/Aphasia/p/4158188.html