C# 2进制、8进制、10进制、16进制...各种进制转换

在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。

其中的两个方法可以轻松的实现各种进制的数值间的转换:

Convert.ToInt32(string value, int fromBase):

可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:

如Convert.ToInt32(”0010”,2)执行的结果为2;

Convert.ToString(int value, int toBase):

可以把一个数字转换为不同进制数值的字符串格式,其中toBase参数为进制的格式,只能是2、8、10及16:

如Convert.ToString(2,2)执行的结果为”0010”

现在我们做一个方法实现各种进制间的字符串*转换:选把它转成数值型,然后再转成相应的进制的字符串:

public string ConvertString(string value, int fromBase, int toBase)

{

int intValue = Convert.ToInt32(value, fromBase);

return Convert.ToString(intValue, toBase);

}

其中fromBase为原来的格式

toBase为将要转换成的格式

//十进制转二进制

Console.WriteLine(Convert.ToString(69, 2));

//十进制转八进制

Console.WriteLine(Convert.ToString(69, 8));

//十进制转十六进制

Console.WriteLine(Convert.ToString(69, 16));

//二进制转十进制

Console.WriteLine(Convert.ToInt32(”100111101″, 2));

//八进制转十进制

Console.WriteLine(Convert.ToInt32(”76″, 8));

//C# 16进制转换10进制

Console.WriteLine(Convert.ToInt32(”FF”, 16));

上一篇:深入理解深度学习——Item Embedding


下一篇:论文阅读笔记:[WSDM 2021]Bipartite Graph Embedding via Mutual InformationMaximization