本文共 1236 字,大约阅读时间需要 4 分钟。
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));手写进制转换可以参考: