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

C# 實現各種進制轉換的完整指南

     編輯:關於C語言

前言

在 .NET Framework 中,System.Convert 類提供了全面的類型與數值轉換功能。其中兩個核心方法可以輕鬆實現二進制、八進制、十進制、十六進制等進制之間的相互轉換。

核心方法解析

1. Convert.ToInt32(string value, int fromBase)

將指定進制的數值字符串轉換為 32 位有符號整數。

  • value:包含數值的字符串
  • fromBase:數值的進制,只能是 2、8、10 或 16

範例:Convert.ToInt32("0010", 2) 返回 2

2. Convert.ToString(int value, int toBase)

將 32 位有符號整數轉換為指定進制的字符串表示。

  • value:要轉換的整數
  • toBase:目標進制,只能是 2、8、10 或 16

範例:Convert.ToString(2, 2) 返回 "10"(注意:實際輸出為 "10" 而非 "0010")

通用進制轉換方法

結合上述兩個方法,我們可以封裝一個通用的進制字符串轉換方法:

public string ConvertBase(string value, int fromBase, int toBase)
{
    // 先將來源進制字符串轉為整數
    int intValue = Convert.ToInt32(value, fromBase);
    // 再將整數轉為目標進制字符串
    return Convert.ToString(intValue, toBase);
}

使用說明

  • fromBase:原始數值的進制格式(2、8、10、16)
  • toBase:目標進制格式(2、8、10、16)
  • 方法會自動處理進制間的轉換邏輯

注意事項

  • 輸入字符串必須符合來源進制的格式要求
  • 超出 Int32 範圍的數值會拋出異常
  • 十六進制字母不區分大小寫

應用場景

此方法適用於需要在不同進制間頻繁轉換的場景,如:嵌入式開發、網絡協議解析、加密算法實現、數據格式轉換等。

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