﻿# C# 中的進制轉換

在 C# 執行進制的轉換可以透過 [Convert 類別](http://msdn2.microsoft.com/zh-tw/library/system.convert.aspx "Convert 類別")來操作，使用上還蠻方便的，在此列出幾個常用的寫法：

**十進制轉換成其他進制**

> 所有的 Int32 型別都是「十進制」的運算，要轉換成其他進制可以使用 [Convert.ToString 方法](http://msdn2.microsoft.com/zh-tw/library/b1kwkfdz.aspx "Convert.ToString 方法")來取得轉換過後的結果，其結果是以字串形式儲存。
> 
> ```csharp
> 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)](http://msdn2.microsoft.com/zh-tw/library/1k20k614.aspx "Convert.ToInt32 方法 (String, Int32)") 來取得轉換過後的結果。
> 
> ```csharp
> 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 內建沒這些東西，你如果有需要就自己寫吧！
