C#中的Convert类定义了十进制和其他进制、其他进制和十进制之间的转换。
一、十进制转2进制、8进制、16进制
int类型或double类型转换,返回的事指定进制的字符串
Convert静态类中的方法
//
// 摘要:
// 将 32 位带符号整数的值转换为其指定基的等效字符串表示形式。
//
// 参数:
// value:
// 要转换的 32 位带符号整数。
//
// toBase:
// 返回值的基数,必须是 2、8、10 或 16。
//
// 返回结果:
// 以 toBase 为基数的 value 的字符串表示形式。
//
// 异常:
// T:System.ArgumentException:
// toBase 不是 2、8、10 或 16。
[SecuritySafeCritical]
public static string ToString(int value, int toBase);
实例:
//十进制转二进制字符串
Console.WriteLine(Convert.ToString(0, 2));
Console.WriteLine(Convert.ToString(3, 2));
二、2、8、16进制字符串转十进制
//
// 摘要:
// 将指定基数的数字的字符串表示形式转换为等效的 32 位有符号整数。
//
// 参数:
// value:
// 包含要转换的数字的字符串。
//
// fromBase:
// value 中数字的基数,它必须是 2、8、10 或 16。
//
// 返回结果:
// 与 value 中数字等效的 32 位带符号整数,如果 value 为 null,则为 0(零)。
//
// 异常:省略
public static int ToInt32(string value, int fromBase);
实例:
//二进制转十进制
Console.WriteLine(Convert.ToInt32("00", 2));
Console.WriteLine(Convert.ToInt32("01", 2));
Console.WriteLine(Convert.ToInt32("11", 2));
手写进制转换可以参考:
http://www.cnblogs.com/jhabb/archive/2011/05/06/2038777.html