首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 進制轉換速查:二進制、八進制、十進制、十六進制互轉

     編輯:關於C#

.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 位。
  • BigInteger:超大整數進制轉換請用 System.Numerics.BigInteger。
  • 自訂基數:Convert.ToString 支援 2~36 進制(0-9, A-Z)。

常見陷阱

  • Convert.ToInt32 不支援負號的非十進制字串(如 "-FF" 會拋出例外),需自行處理正負號。
  • 十六進制字串常帶前綴 "0x" 或 "#",呼叫前請 TrimStart('0','x','#')。
  • 浮點數無法直接用此方法轉二進制,需 BitConverter.DoubleToInt64Bits 取得 IEEE 754 位元模式。

將此表收藏,下次進制轉換即可秒級完成,專注於核心業務邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved