.NET Convert 類別提供靜態方法快速完成各進制互轉,無需手寫演算法。本文整理最常用的轉換模式與程式碼片段,方便隨時查閱。
| 轉換方向 | 方法 | 範例 |
|---|---|---|
| 十進制 → 二進制 | Convert.ToString(value, 2) | Convert.ToString(166, 2) → "10100110" |
| 十進制 → 八進制 | Convert.ToString(value, 8) | Convert.ToString(166, 8) → "246" |
| 十進制 → 十六進制 | Convert.ToString(value, 16) | Convert.ToString(166, 16) → "A6" |
| 二進制 → 十進制 | Convert.ToInt32(str, 2) | Convert.ToInt32("111101", 2) → 61 |
| 八進制 → 十進制 | Convert.ToInt32(str, 8) | Convert.ToInt32("44", 8) → 36 |
| 十六進制 → 十進制 | Convert.ToInt32(str, 16) | Convert.ToInt32("CC", 16) → 204 |
Console.WriteLine("十進制 166 → 二進制: " + Convert.ToString(166, 2));
Console.WriteLine("十進制 166 → 八進制: " + Convert.ToString(166, 8));
Console.WriteLine("十進制 166 → 十六進制: " + Convert.ToString(166, 16));
Console.WriteLine("二進制 111101 → 十進制: " + Convert.ToInt32("111101", 2));
Console.WriteLine("八進制 44 → 十進制: " + Convert.ToInt32("44", 8));
Console.WriteLine("十六進制 CC → 十進制: " + Convert.ToInt32("CC", 16));
value.ToString("X")(十六進制大寫)、value.ToString("X8")(補零 8 位)、Convert.ToString(value, 2).PadLeft(8, '0')(二進制補零)。(value >> n) & 1 取第 n 位、value | (1 << n) 設第 n 位。System.Numerics.BigInteger。Convert.ToString 支援 2~36 進制(0-9, A-Z)。Convert.ToInt32 不支援負號的非十進制字串(如 "-FF" 會拋出例外),需自行處理正負號。"0x" 或 "#",呼叫前請 TrimStart('0','x','#')。BitConverter.DoubleToInt64Bits 取得 IEEE 754 位元模式。將此表收藏,下次進制轉換即可秒級完成,專注於核心業務邏輯。