数据的进制转换我们在大学的时候学过,那时候用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
三、进制转换的用处
进制转换可以用来设计自己的加密解密数据;如果知道程序的编码方法,可以用进制转换来反编译数据等;还有计算机相关水平考试可能有这类试题。你觉得进制有啥用处呢?