程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中二進制、八進制、十六進制和十進制之間的相互轉化問題

C#中二進制、八進制、十六進制和十進制之間的相互轉化問題

編輯:C#入門知識

C#本身自帶的X進制之間的轉換功能如下:

//十進制轉二進制
Console.WriteLine(Convert.ToString(69, 2));
//十進制轉八進制
Console.WriteLine(Convert.ToString(69, 8));
//十進制轉十六進制
Console.WriteLine(Convert.ToString(69, 16));

//二進制轉十進制
Console.WriteLine(Convert.ToInt32(”100111101″, 2));
//八進制轉十進制
Console.WriteLine(Convert.ToInt32(”76″, 8));
//十六進制轉十進制
Console.WriteLine(Convert.ToInt32(”FF”, 16));

十六進制 轉向 十進制:

 

 

十進制 轉向 十六進制:

\this.myResult.Text = myTempR.ToString("X");

C#語言有很多值得學習的地方,這裡我們主要介紹C#實現轉換十六進制,包括介紹用來表示十六進制的枚舉值是 HexNumber等方面。

  C#實現轉換十六進制

  任何數據在計算機內部都是以二進制保存的,所以進制與數據的存儲無關,只與輸入輸出有關。所以,對於進制轉換,我們只關心字符串中的結果。

  在上面的第 4 條中提到了 ToString() 方法可以將數值轉換成字符串,不過在字符串中,結果是以十進制顯示的。現在我們帶給它加一些參數,就可以讓C#實現轉換成十六進制——使用 ToString(string) 方法。

  這裡需要一個 string 類型的參數,這就是格式說明符。十六進制的格式說明符是 "x" 或者 "X",使用這兩種格式說明符的區別主要在於 A-F 六個數字:"x" 代表 a-f 使用小寫字母表示,而 "X" 而表示 A-F 使用大字字母表示。如下例:

private void TestHex() {  
int a = 188;  
this.textBox1.Text = "";  
this.textBox1.AppendText("a(10) = " + a.ToString() + " ");  
this.textBox1.AppendText("a(16) = " + a.ToString("x") + " ");  
this.textBox1.AppendText("a(16) = " + a.ToString("X") + " ");  
} 

  運行結果如下:

a(10) = 188  
a(16) = bc  
a(16) = BC 

  這時候,我們可能有另一種需求,即為了顯示結果的整齊,我們需要控制十六進制表示的長度,如果長度不夠,用前導的 0 填補。解決這個問題,我們只需要在格式說明符“x”或者“X”後寫上表示長度的數字就行了。比如,要限制在 4 個字符的長度,可以寫成“X4”。在上例中追加一句:

this.textBox1.AppendText("a(16) = " + a.ToString("X4") + " "); 

  其結果將輸出 a(16) = 00BC。

  現在,我們還要說一說如何將一個表示十六進制數的字符串轉換成整型。這一轉換,同樣需要借助於 Parse() 方法。這裡,我需要 Parse(string, System.Globalization.NumberStyles) 方法。第一個參數是表示十六進制數的字符串,如“AB”、“20”(表示十進制的 32) 等。第二個參數 System.Globalization.NumberStyles 是一個枚舉類型,用來表示十六進制的枚舉值是 HexNumber。因此,如果我們要將“AB”轉換成整型,就應該這樣寫:int b = int.Parse("AB", System.Globalization.NumberStyles.HexNumber),最後得到的 b 的值是 171。

 

\int myTempR = int.Parse("EA",System.Globalization.NumberStyles.HexNumber);     

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved