C#中二进制、十进制和十六进制互相转换的方法

ToString函数的第二个参数表示目标数字系统的基数。

十进制转换为二进制(int-->string)

System.Convert.ToString(d, 2);// d为int类型 以4为例,输出为100

十六进制转换为二进制(int-->string)

System.Convert.ToString(d, 2);// d为int类型 以0X14为例,输出为10100

二进制转换为十进制(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")方式进行控制。

你可能感兴趣的:(C#中二进制、十进制和十六进制互相转换的方法)