C 進製轉換 二進位制 十六進製制 十進位制互轉

2021-08-28 15:42:50 字數 1801 閱讀 8175

c# 進製轉換(二進位制、十六進製制、十進位制互轉)

由於二進位制數在c#中無法直接表示,所以所有二進位制數都用乙個字串來表示

例如: 二進位制: 1010 表示為 字串:"1010"

int d = 10;

//十進位制轉二進位制字串

console.writeline(convert.tostring(d,2));

//輸出: 1010

//十進位制轉十六進製制字串

console.writeline(convert.tostring(d,16));

//輸出: a

//二進位制字串轉十進位制數

string bin = "1010";

console.writeline(convert.toint32(bin,2));

//輸出: 10

//二進位制字串轉十六進製制數

string bin = "1010";

console.writeline(string.format("",convert.toint32(bin,2));

//輸出: a

//十六進製制轉二進位制字串

console.writeline(convert.tostring(0xa,2));

//輸出: 1010

//十六進製制轉十進位制數

console.writeline(convert.tostring(0xa,10));

//輸出: 10

c#實現轉換十六進製制

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

c#實現轉換十六進製制

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

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

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

1. private void testhex()

執行結果如下:

1. a(10) = 188

2. a(16) = bc

3. a(16) = bc

這時候,我們可能有另一種需求,即為了顯示結果的整齊,我們需要控制十六進製制表示的長度,如果長度不夠,用前導的 0 填補。解決這個問題,我們只需要在格式說明符「x」或者「x」後寫上表示長度的數字就行了。比如,要限制在 4 個字元的長度,可以寫成「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。

十進位制 二進位制 十六進製制轉換

十進位制轉二進位制 十六進製制我覺得最簡單也最方便的辦法就是直接用計算器算了。如果不依賴工具,那我們要如何去計算呢。先來說說二進位制。最多見的是短除法。所謂短除法大家可以去看看 這個百科裡面的詳細明了的解釋。我想補充的一點是 如果你嫌短除法太過於麻煩,可以在拿到乙個二進位制數的時候直接用2 n去減。...

C 進製轉換(二進位制 十六進製制 十進位制互轉)

由於二進位制數在c 中無法直接表示,所以所有二進位制數都用乙個字串來表示 例如 二進位制 1010 表示為 字串 1010 c int d 10 十進位制轉二進位制字串 console.writeline convert.tostring d,2 輸出 1010 十進位制轉十六進製制字串 conso...

C 進製轉換 二進位制 十六進製制 十進位制互轉

原文 c 進製轉換 二進位制 十六進製制 十進位制互轉 1.請問c 中如何將十進位制數的字串轉化成十六進製制數的字串 十進位制轉二進位制 console.writeline 十進位制166的二進位制表示 convert.tostring 166,2 十進位制轉八進位制 console.writeli...