二進制在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以及它們的數組形式的轉換雖然簡單,但是比較基礎的知識。網上也有很多詳解,用到的時候自行查閱即可。