二进制在C#中没法直接表示,咱们通常用0和1的字符串来表示一个数的二进制形式。好比4的二进制为“100”。下面介绍C#里面用于进制转换的方法。数组
十进制转换为二进制(int-->string)函数
System.Convert.ToString(d, 2);// d为int类型 以4为例,输出为100spa
十六进制转换为二进制(int-->string)orm
System.Convert.ToString(d, 2);// d为int类型 以0X14为例,输出为10100字符串
上面ToString函数的第二个参数表示目标数字系统的基数。
string
二进制转换为十进制(string-->int)io
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以及它们的数组形式的转换虽然简单,可是比较基础的知识。网上也有不少详解,用到的时候自行查阅便可。