程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#實現二、八、十六進制數轉十進制數的算法

C#實現二、八、十六進制數轉十進制數的算法

編輯:關於C#

二進制換為十進制的方法,例如:

二進制數:11001

十進制數:1*24+1*23+0*22+0*21+1*20=25

八進制換為十進制的方法,例如:

八進制數:32007

十進制數:3*84+2*83+0*82+0*81+7*80=13319

十六進制換為十進制的方法,例如:

十六進制數:a20f(由於十六進制數用a~f表示10~15之間的數,所以計算時將a~f用10~15表示)

十進制數: 10*83+2*82+0*81+15*80=41487

通過以上二、八、十六進制數轉十進制數的計算方法,可得出計算的代碼為:

//參數Num為需要轉換的數,n為該數的進制
public string ToD(string Num, int n)
{
char[] nums=Num.ToCharArray ();
int d = 0;
for (int i = 0; i <nums.Length ; i++)
{
string number=nums [i].ToString ();
if (n == 16)
{
switch (number.ToUpper ())
{
case "A":
number = "10";
break;
case "B":
number = "11";
break;
case "C":
number = "12";
break;
case "D":
number = "13";
break;
case "E":
number = "14";
break;
case "F":
number = "15";
break;
}
}
Double power = Math.Pow(Convert.ToDouble (n),Convert.ToDouble ( nums.Length - (i + 1)));
d = d + Convert.ToInt32 (number) * Convert.ToInt32 (power);
}
return d.ToString ();
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved