C#中二進制、十進制和十六進制互相轉換的方法


二進制在C#中無法直接表示,我們一般用0和1的字符串來表示一個數的二進制形式。比如4的二進制為“100”。下面介紹C#里面用於進制轉換的方法。

十進制轉換為二進制(int-->string)

System.Convert.ToString(d, 2);// d為int類型 以4為例,輸出為100


十六進制轉換為二進制(int-->string)

System.Convert.ToString(d, 2);// d為int類型 以0X14為例,輸出為10100


上面ToString函數的第二個參數表示目標數字系統的基數。

二進制轉換為十進制(string-->int

System.Convert.ToInt32(s, 2);// d為string類型 以“1010”為例,輸出為10


十六進制轉換為十進制string-->int、int-->int)

方法一:

System.Convert.ToString(0xa,10);// 以0XA為例,輸出為10


或者

System.Convert.ToInt32("0x41", 16);//以"0x41"為例,輸出為65


方法二:

System.Int32.Parse(s, System.Globalization.NumberStyles.HexNumber);//s為string類型,以“41”為例,輸出為65

注意這里的s中不能帶有“0X”或者“0x”,區別於上面的方法。

二進制轉換為十六進制string-->int

先轉換為十進制,在轉換為十六進制

string.Format("{0:X}",System.Convert.ToInt32(s, 2));// s為string類型 以“1010”為例,輸出為A


十進制轉換為十六進制

十進制轉換為十六進制不需要特殊的方法,只要對輸出格式進行控制一下就可以。


或者使用string.Format("{0:x}", dec)方法進行控制,也可以用s.ToString("X")方式進行控制。


除了數制轉換之外,數據類型的轉換也比較重要。對於基本數據類型,byte、char、int、string以及它們的數組形式的轉換雖然簡單,但是比較基礎的知識。網上也有很多詳解,用到的時候自行查閱即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM