The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

C# 中的進制轉換

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

十進制轉換成其他進制

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

[code:c#]

     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

[/code]

其他進制轉換成十進制

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

[code:c#]

    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

[/code]

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

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