c#語言有很多值得學習的地方,這裡我們主要介紹c#實現轉換十六進製制,包括介紹用來表示十六進製制的列舉值是 hexnumber等方面。
任何資料在計算機內部都是以二進位制儲存的,所以進製與資料的儲存無關,只與輸入輸出有關。所以,對於進製轉換,我們只關心字串中的結果。
在上面的第 4 條中提到了 tostring() 方法可以將數值轉換成字串,不過在字串中,結果是以十進位制顯示的。現在我們帶給它加一些引數,就可以讓c#實現轉換成十六進製制——使用 tostring(string) 方法。
這裡需要乙個 string 型別的引數,這就是格式說明符。十六進製制的格式說明符是 "x" 或者 "x",使用這兩種格式說明符的區別主要在於 a-f 六個數字:"x" 代表 a-f 使用小寫字母表示,而 "x" 而表示 a-f 使用大字字母表示。如下例:
privatevoid
testhex()
執行結果如下:
a(10) = 188
a(16) = bc
a(16) = bc
這時候,我們可能有另一種需求,即為了顯示結果的整齊,我們需要控制十六進製制表示的長度,如果長度不夠,用前導的 0 填補。解決這個問題,我們只需要在格式說明符「x」或者「x」後寫上表示長度的數字就行了。比如,要限制在 4 個字元的長度,可以寫成「x4」。在上例中追加一句:
a(16) =
" + a.tostring("
x4") + "
\n");
其結果將輸出 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。
十六進製制轉換
0x16進製制 編輯 討論 現實生活中,我們最常見的數為十進位制數,比如交通訊號燈上的數字,電子錶上的時間等。如果在這些地方你看到0xaa,就會感覺很奇怪。但是這樣的數代表什麼意思,為什麼會有這樣的數,它與十進位制的數有什麼關係以及它都有哪些應用呢。下面將帶你了解一下十六進製制數的秘密。中文名 0x...
進製轉換 十六進製制轉八進位制 十六進製制轉十進位制
在十六進製制轉為八進位制的過程中包含了將十六進製制轉化為二進位制以及將二進位制轉化為八進位制!我自己測試是沒什麼問題,但是在藍橋杯官網的測試系統就顯示執行錯誤qwq 不知道為什麼 附 include includeusing namespace std int main if len2 i 3 2 ...
進製轉換 二進位制轉十六進製制 十六進製制轉十進位制
這幾天在做乙個與plc互動的系統,plc會傳過來一些指令,這些指令是二進位制的格式,要轉為4位十進位制的指令來讀,下面是 部分 public class byteschange int beginindex 0 int length 16 string instructions while true...