欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 進(jìn)制轉(zhuǎn)換的實(shí)現(xiàn)(二進(jìn)制、十六進(jìn)制、十進(jìn)制互轉(zhuǎn))

 更新時(shí)間:2020年01月18日 11:47:08   作者:星火燎猿  
這篇文章主要介紹了C# 進(jìn)制轉(zhuǎn)換的實(shí)現(xiàn)(二進(jìn)制、十六進(jìn)制、十進(jìn)制互轉(zhuǎn)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

由于二進(jìn)制數(shù)在C#中無法直接表示,所以所有二進(jìn)制數(shù)都用一個(gè)字符串來表示
例如: 二進(jìn)制: 1010 表示為 字符串:"1010" 
int d = 10;

//十進(jìn)制轉(zhuǎn)二進(jìn)制字符串
 Console.WriteLine(Convert.ToString(d,2));
//輸出: 1010

//十進(jìn)制轉(zhuǎn)十六進(jìn)制字符串
Console.WriteLine(Convert.ToString(d,16));
//輸出: a


//二進(jìn)制字符串轉(zhuǎn)十進(jìn)制數(shù)
string bin = "1010";
Console.WriteLine(Convert.ToInt32(bin,2));
//輸出: 10


//二進(jìn)制字符串轉(zhuǎn)十六進(jìn)制數(shù)
string bin = "1010";
Console.WriteLine(string.Format("{0:x}",Convert.ToInt32(bin,2));
//輸出: a


//十六進(jìn)制轉(zhuǎn)二進(jìn)制字符串
Console.WriteLine(Convert.ToString(0xa,2));
//輸出: 1010


//十六進(jìn)制轉(zhuǎn)十進(jìn)制數(shù)
Console.WriteLine(Convert.ToString(0xa,10));
//輸出: 10

C#實(shí)現(xiàn)轉(zhuǎn)換十六進(jìn)制

C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#實(shí)現(xiàn)轉(zhuǎn)換十六進(jìn)制,包括介紹用來表示十六進(jìn)制的枚舉值是 HexNumber等方面。

任何數(shù)據(jù)在計(jì)算機(jī)內(nèi)部都是以二進(jìn)制保存的,所以進(jìn)制與數(shù)據(jù)的存儲(chǔ)無關(guān),只與輸入輸出有關(guān)。所以,對(duì)于進(jìn)制轉(zhuǎn)換,我們只關(guān)心字符串中的結(jié)果。

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

這里需要一個(gè) string 類型的參數(shù),這就是格式說明符。十六進(jìn)制的格式說明符是 "x" 或者 "X",使用這兩種格式說明符的區(qū)別主要在于 A-F 六個(gè)數(shù)字:"x" 代表 a-f 使用小寫字母表示,而 "X" 而表示 A-F 使用大字字母表示。如下例:

  private void TestHex() { 
  int a = 188; 
  thistextBoxText = ""; 
  thistextBoxAppendText("a(10) = " + aToString() + "\n"); 
  thistextBoxAppendText("a(16) = " + aToString("x") + "\n"); 
  thistextBoxAppendText("a(16) = " + aToString("X") + "\n"); 
  } 

運(yùn)行結(jié)果如下:

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

這時(shí)候,我們可能有另一種需求,即為了顯示結(jié)果的整齊,我們需要控制十六進(jìn)制表示的長(zhǎng)度,如果長(zhǎng)度不夠,用前導(dǎo)的 0 填補(bǔ)。解決這個(gè)問題,我們只需要在格式說明符“x”或者“X”后寫上表示長(zhǎng)度的數(shù)字就行了。比如,要限制在 4 個(gè)字符的長(zhǎng)度,可以寫成“X4”。在上例中追加一句:

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

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 列舉ASP.NET頁(yè)面之間傳遞值的幾種方式

    列舉ASP.NET頁(yè)面之間傳遞值的幾種方式

    這篇文章主要介紹了列舉ASP.NET 頁(yè)面之間傳遞值的幾種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • asp.net中Response.Redirect與Server.Transfer的區(qū)別分析

    asp.net中Response.Redirect與Server.Transfer的區(qū)別分析

    一般來說如果需要在兩個(gè)頁(yè)面間共享數(shù)據(jù),而且數(shù)據(jù)量比較大的時(shí)候,用transfer會(huì)比較合適,在第二個(gè)頁(yè)面中可以直接使用前一頁(yè)面的數(shù)據(jù)。
    2010-10-10
  • Asp.net中UpdatePanel的用法詳解

    Asp.net中UpdatePanel的用法詳解

    本文詳細(xì)的介紹了Asp.net中UpdatePanel的用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • asp.net 打印控件使用方法

    asp.net 打印控件使用方法

    做過很多的Web項(xiàng)目,大多數(shù)在打印頁(yè)面內(nèi)容的時(shí)候,采用的都是通過Javascript調(diào)用系統(tǒng)內(nèi)置的打印方法進(jìn)行打印,也就是調(diào)用 PrintControl.ExecWB(?,?)實(shí)現(xiàn)直接打印和打印預(yù)覽功能。
    2010-01-01
  • 使用Visual Studio編寫單元測(cè)試

    使用Visual Studio編寫單元測(cè)試

    本文詳細(xì)講解了使用Visual Studio編寫單元測(cè)試的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • ASP.NET中JSON的序列化和反序列化使用說明

    ASP.NET中JSON的序列化和反序列化使用說明

    JSON是專門為瀏覽器中的網(wǎng)頁(yè)上運(yùn)行的JavaScript代碼而設(shè)計(jì)的一種數(shù)據(jù)格式。
    2011-07-07
  • asp.net網(wǎng)站安全從小做起與防范小結(jié)

    asp.net網(wǎng)站安全從小做起與防范小結(jié)

    我是做asp.net網(wǎng)站開發(fā)的,QQ群里一個(gè)網(wǎng)友的站被掛馬了。他說讓我寫點(diǎn)安全方面的文章。我就介紹下我的經(jīng)驗(yàn)吧,各位大牛不要拿磚頭砸我。。。
    2008-09-09
  • C# 生轉(zhuǎn)換網(wǎng)頁(yè)為pdf

    C# 生轉(zhuǎn)換網(wǎng)頁(yè)為pdf

    最近工作中遇到一個(gè)將htm轉(zhuǎn)換為pdf的任務(wù),這是一個(gè)有很有用的功能塊,然而很遺憾,網(wǎng)上沒有現(xiàn)成可行(包括開源/免費(fèi)、易用和可維護(hù)性的考慮)方案。既然沒有現(xiàn)成的解決方案就自己著手解決吧。
    2009-07-07
  • asp .net core靜態(tài)文件資源的深入講解

    asp .net core靜態(tài)文件資源的深入講解

    這篇文章主要給大家介紹了關(guān)于asp .net core靜態(tài)文件資源的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • asp.net 文件下載的通用方法

    asp.net 文件下載的通用方法

    一則雕蟲小技,記下備忘,以使同學(xué)們少走彎路。
    2009-06-06

最新評(píng)論