C#实现几种进制的转换,超级简单

数据的进制转换我们在大学的时候学过,那时候用C语言或者C++实现,转换比较麻烦,没有专门的函数来转换,还需要写算法实现。而在C#中"进制"转换就简单多了,下面我们看看在C#中如何实现。.

一、其它进制转换成十进制整数

    转换方法:Convert.ToInt32("string",num),"string"为要转换的数据,num是转换前的进制,有2,8,10,16。具体如下

1、八进制转换成十进字

 var a = Convert.ToInt32("12", 8);//输出10

2、二进制字符串转十进制整数

 var a= Convert.ToInt32("100110100", 2); //输出:308

3、十六进制字符串转十进制整数

转换有两种方法,一个是Convert.ToInt32,另外一个是Convert.ToByte,如下:

    var a= Convert.ToByte("EF",16);    Console.WriteLine(a);//239     var b= Convert.ToInt32("EF",16);     Console.WriteLine(b);//239

二、十进制转换成其它进制

    可以利用Convert.ToString(value, num)方法可以把十进制整数转为其他进制的字符串,value是要转换的数字,num是转换前的进制,有2,8,10,16。如下

1、十进制转换成八进字

 Console.WriteLine(Convert.ToString(55, 8));//输出67

2、十进制整数符串转二进制

Console.WriteLine(Convert.ToString(55,2)); //输出:110111

3、十进制整数符串转十六进制

  Console.WriteLine(Convert.ToString(55,16));//37

C#中十六进制用前缀用0x表示。可以这样转换:

 Console.WriteLine(55.ToString("X2") );//37

三、进制转换的用处

    进制转换可以用来设计自己的加密解密数据;如果知道程序的编码方法,可以用进制转换来反编译数据等;还有计算机相关水平考试可能有这类试题。你觉得进制有啥用处呢?