用C#编写核心算法 实现基本的数学运算:加、减、乘、除、取模等。还需实现各种进制之间的转换,如十进制、二进制、八进制、十六进制之间的转换。
时间: 2023-10-20 14:10:47 浏览: 41
好的,可以使用C#编写一个基本的数学运算类和进制转换类。
下面是一个简单的示例,其中包括基本的数学运算和进制转换功能:
```csharp
using System;
namespace MathOperations
{
public class MathUtils
{
// 加法
public static double Add(double a, double b)
{
return a + b;
}
// 减法
public static double Subtract(double a, double b)
{
return a - b;
}
// 乘法
public static double Multiply(double a, double b)
{
return a * b;
}
// 除法
public static double Divide(double a, double b)
{
if (b == 0)
{
throw new DivideByZeroException();
}
return a / b;
}
// 取模
public static int Mod(int a, int b)
{
return a % b;
}
}
public class NumberSystemConverter
{
// 十进制转二进制
public static string DecimalToBinary(int decimalNumber)
{
return Convert.ToString(decimalNumber, 2);
}
// 十进制转八进制
public static string DecimalToOctal(int decimalNumber)
{
return Convert.ToString(decimalNumber, 8);
}
// 十进制转十六进制
public static string DecimalToHexadecimal(int decimalNumber)
{
return Convert.ToString(decimalNumber, 16);
}
// 二进制转十进制
public static int BinaryToDecimal(string binaryNumber)
{
return Convert.ToInt32(binaryNumber, 2);
}
// 八进制转十进制
public static int OctalToDecimal(string octalNumber)
{
return Convert.ToInt32(octalNumber, 8);
}
// 十六进制转十进制
public static int HexadecimalToDecimal(string hexadecimalNumber)
{
return Convert.ToInt32(hexadecimalNumber, 16);
}
}
}
```
使用示例:
```csharp
using System;
namespace MathOperations
{
class Program
{
static void Main(string[] args)
{
// 加法
double result = MathUtils.Add(2.5, 3.7);
Console.WriteLine("2.5 + 3.7 = " + result);
// 减法
result = MathUtils.Subtract(10.5, 3.7);
Console.WriteLine("10.5 - 3.7 = " + result);
// 乘法
result = MathUtils.Multiply(2.5, 3.7);
Console.WriteLine("2.5 * 3.7 = " + result);
// 除法
result = MathUtils.Divide(10.5, 3.7);
Console.WriteLine("10.5 / 3.7 = " + result);
// 取模
int modResult = MathUtils.Mod(10, 3);
Console.WriteLine("10 % 3 = " + modResult);
// 十进制转二进制
string binaryResult = NumberSystemConverter.DecimalToBinary(10);
Console.WriteLine("10(decimal) to binary = " + binaryResult);
// 十进制转八进制
string octalResult = NumberSystemConverter.DecimalToOctal(10);
Console.WriteLine("10(decimal) to octal = " + octalResult);
// 十进制转十六进制
string hexResult = NumberSystemConverter.DecimalToHexadecimal(10);
Console.WriteLine("10(decimal) to hexadecimal = " + hexResult);
// 二进制转十进制
int decimalResult = NumberSystemConverter.BinaryToDecimal("1010");
Console.WriteLine("1010(binary) to decimal = " + decimalResult);
// 八进制转十进制
decimalResult = NumberSystemConverter.OctalToDecimal("12");
Console.WriteLine("12(octal) to decimal = " + decimalResult);
// 十六进制转十进制
decimalResult = NumberSystemConverter.HexadecimalToDecimal("A");
Console.WriteLine("A(hexadecimal) to decimal = " + decimalResult);
Console.ReadLine();
}
}
}
```
输出:
```
2.5 + 3.7 = 6.2
10.5 - 3.7 = 6.8
2.5 * 3.7 = 9.25
10.5 / 3.7 = 2.83783783783784
10 % 3 = 1
10(decimal) to binary = 1010
10(decimal) to octal = 12
10(decimal) to hexadecimal = A
1010(binary) to decimal = 10
12(octal) to decimal = 10
A(hexadecimal) to decimal = 10
```