C# 中的進制轉換

在 C# 執行進制的轉換可以透過 Convert 類別來操作,使用上還蠻方便的,在此列出幾個常用的寫法:

十進制轉換成其他進制

所有的 Int32 型別都是「十進制」的運算,要轉換成其他進制可以使用 Convert.ToString 方法來取得轉換過後的結果,其結果是以字串形式儲存。

int iNum = 253;
string strResult;

strResult = Convert.ToString(iNum, 2);
// 結果:11111101

strResult = Convert.ToString(iNum, 8);
// 結果:375

strResult = Convert.ToString(iNum, 10);
// 結果:253

strResult = Convert.ToString(iNum, 16);
// 結果:fd

其他進制轉換成十進制

要將其他進制轉換成十進制的化,其實就是將該進制的表示式(字串)轉成 Int32 型別而已,可以使用 Convert.ToInt32 方法 (String, Int32) 來取得轉換過後的結果。

int intResult;

intResult = Convert.ToInt32("11111101", 2);
// 結果:253

intResult = Convert.ToInt32("375", 8);
// 結果:253

intResult = Convert.ToInt32("253", 10);
// 結果:253

intResult = Convert.ToInt32("fd", 16);
// 結果:253

其他進制間轉換 ( 例如:7進制、5進制、...)

不好意思,.NET 內建沒這些東西,你如果有需要就自己寫吧!

 

留言評論