C# .NET 16进制转换,10进制转换,8进制转换,2进制转换
介绍:16进制:外文名“Hexadecimal”简写 hex; 大多时候以“H”表示
10进制:英文名称为Decimal System,来源于希腊文Decem; 大多时候以“D”表示
8进制:英文名称为Octal,缩写OCT或O; 大多时候以“O”表示
2进制:外文名binary system 简写 binary; 大多时候以“B”表示
一、公共代码16进制转换,10进制转换,8进制转换,2进制转换 (值以255为例)
string str = "255";
int number = 255;
object res = "";
二、2进制转换成其他“进制”
str = "11111111";//10进制:255
Console.WriteLine("【2进制转换8进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 2); //换成10进制
res = System.Convert.ToString(number, 8);//换成8进制
Console.WriteLine($"({str})B=({res})O");
Console.WriteLine("【2进制转换10进制】");
res = System.Convert.ToInt32(str, 2);//换成10进制
Console.WriteLine($"({str})B=({res})D");
Console.WriteLine("【2进制转换16进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 2); //换成10进制
res = System.Convert.ToString(number, 16);//换成16进制
Console.WriteLine($"({str})B=({res})H");
Console.WriteLine($"16大写:({number})D=({res.ToString().ToUpper()})H");
Console.WriteLine($"16小写:({number})D=({res.ToString().ToLower()})H");
结果
【2进制转换8进制】需要先转换成10进制
(11111111)B=(377)O
【2进制转换10进制】
(11111111)B=(255)D
【2进制转换16进制】需要先转换成10进制
(11111111)B=(ff)H
16大写:(255)D=(FF)H
16小写:(255)D=(ff)H
三、8进制转换成其他“进制”
str = "377";//10进制:255
Console.WriteLine("【8进制转换10进制】");
res = System.Convert.ToInt32(str, 8);
Console.WriteLine($"({str})O=({res})D");
Console.WriteLine("【8进制转换2进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 8); //换成10进制
res = System.Convert.ToString(number, 2);//换成2进制
Console.WriteLine($"({str})O=({res})B");
Console.WriteLine("【8进制转换16进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 8); //换成10进制
res = System.Convert.ToString(number, 16);//换成16进制
Console.WriteLine($"({str})O=({res})H");
Console.WriteLine($"16大写:({number})D=({res.ToString().ToUpper()})H");
Console.WriteLine($"16小写:({number})D=({res.ToString().ToLower()})H");
结果
【8进制转换10进制】
(377)O=(255)D
【8进制转换2进制】需要先转换成10进制
(377)O=(11111111)B
【8进制转换16进制】需要先转换成10进制
(377)O=(ff)H
16大写:(255)D=(FF)H
16小写:(255)D=(ff)H
四、10进制转换成其他“进制”
Console.WriteLine("【10进制转换2进制】");
res = System.Convert.ToString(number, 2);
Console.WriteLine($"({number})D=({res})B");
Console.WriteLine("【10进制转换8进制】");
res = System.Convert.ToString(number, 8);
Console.WriteLine($"({number})D=({res})O");
Console.WriteLine("【10进制转换16进制】");
res = System.Convert.ToString(number, 16);
Console.WriteLine($"默认:({number})D=({res})H");
Console.WriteLine($"16大写:({number})D=({res.ToString().ToUpper()})H");
Console.WriteLine($"16小写:({number})D=({res.ToString().ToLower()})H");
结果
【10进制转换2进制】
(255)D=(11111111)B
【10进制转换8进制】
(255)D=(377)O
【10进制转换16进制】
默认:(255)D=(ff)H
16大写:(255)D=(FF)H
16小写:(255)D=(ff)H
五、16进制转换成其他“进制”
str = "FF";//10进制:100
Console.WriteLine("【16进制转换2进制】");
number = System.Convert.ToInt32(str,16); //换成10进制
res = System.Convert.ToString(number, 2);
Console.WriteLine($"({str})H=({res})B");
Console.WriteLine("【16进制转换8进制】");
number = System.Convert.ToInt32(str, 16); //换成10进制
res = System.Convert.ToString(number, 8);
Console.WriteLine($"({str})H=({res})O");
Console.WriteLine("【16进制转换10进制】--方法一");
res = System.Convert.ToInt32(str, 16); //换成10进制
Console.WriteLine($"({str})H=({res})D");
Console.WriteLine("【16进制转换10进制】--方法二");
res = int.Parse(str, System.Globalization.NumberStyles.AllowHexSpecifier); //换成10进制
Console.WriteLine($"({str})H=({res})D");
Console.WriteLine("【16进制转换10进制】--方法三");
res = System.Int32.Parse(str, System.Globalization.NumberStyles.HexNumber); //换成10进制
Console.WriteLine($"({str})H=({res})D");
结果
【16进制转换2进制】
(FF)H=(11111111)B
【16进制转换8进制】
(FF)H=(377)O
【16进制转换10进制】--方法一
(FF)H=(255)D
【16进制转换10进制】--方法二
(FF)H=(255)D
【16进制转换10进制】--方法三
(FF)H=(255)D
完整代码
#region 16进制转换,10进制转换,8进制转换,2进制转换
{
/*
* 16进制:外文名“Hexadecimal”简写 hex; 大多时候以“H”表示
* 10进制:英文名称为Decimal System,来源于希腊文Decem; 大多时候以“D”表示
* 8进制:英文名称为Octal,缩写OCT或O; 大多时候以“O”表示
* 2进制:外文名binary system 简写 binary; 大多时候以“B”表示
*
* */
Console.WriteLine("*/ 16进制转换,10进制转换,8进制转换,2进制转换 (值以255为例)/*");
string str = "255";
int number = 255;
object res = "";
#region 2进制转换成其他“进制”
Console.WriteLine("-----------2进制转换成其他“进制”---------");
{
str = "11111111";//10进制:255
Console.WriteLine("【2进制转换8进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 2); //换成10进制
res = System.Convert.ToString(number, 8);//换成8进制
Console.WriteLine($"({str})B=({res})O");
Console.WriteLine("【2进制转换10进制】");
res = System.Convert.ToInt32(str, 2);//换成10进制
Console.WriteLine($"({str})B=({res})D");
Console.WriteLine("【2进制转换16进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 2); //换成10进制
res = System.Convert.ToString(number, 16);//换成16进制
Console.WriteLine($"({str})B=({res})H");
Console.WriteLine($"16大写:({number})D=({res.ToString().ToUpper()})H");
Console.WriteLine($"16小写:({number})D=({res.ToString().ToLower()})H");
}
#endregion
#region 8进制转换成其他“进制”
Console.WriteLine("-----------8进制转换成其他“进制”---------");
{
str = "377";//10进制:255
Console.WriteLine("【8进制转换10进制】");
res = System.Convert.ToInt32(str, 8);
Console.WriteLine($"({str})O=({res})D");
Console.WriteLine("【8进制转换2进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 8); //换成10进制
res = System.Convert.ToString(number, 2);//换成2进制
Console.WriteLine($"({str})O=({res})B");
Console.WriteLine("【8进制转换16进制】需要先转换成10进制");
number = System.Convert.ToInt32(str, 8); //换成10进制
res = System.Convert.ToString(number, 16);//换成16进制
Console.WriteLine($"({str})O=({res})H");
Console.WriteLine($"16大写:({number})D=({res.ToString().ToUpper()})H");
Console.WriteLine($"16小写:({number})D=({res.ToString().ToLower()})H");
}
#endregion
#region 10进制转换成其他“进制”
Console.WriteLine("-----------10进制转换成其他“进制”---------");
{
Console.WriteLine("【10进制转换2进制】");
res = System.Convert.ToString(number, 2);
Console.WriteLine($"({number})D=({res})B");
Console.WriteLine("【10进制转换8进制】");
res = System.Convert.ToString(number, 8);
Console.WriteLine($"({number})D=({res})O");
Console.WriteLine("【10进制转换16进制】");
res = System.Convert.ToString(number, 16);
Console.WriteLine($"默认:({number})D=({res})H");
Console.WriteLine($"16大写:({number})D=({res.ToString().ToUpper()})H");
Console.WriteLine($"16小写:({number})D=({res.ToString().ToLower()})H");
}
#endregion
#region 16进制转换成其他“进制”
Console.WriteLine("-----------16进制转换成其他“进制”---------");
{
str = "FF";//10进制:100
Console.WriteLine("【16进制转换2进制】");
number = System.Convert.ToInt32(str,16); //换成10进制
res = System.Convert.ToString(number, 2);
Console.WriteLine($"({str})H=({res})B");
Console.WriteLine("【16进制转换8进制】");
number = System.Convert.ToInt32(str, 16); //换成10进制
res = System.Convert.ToString(number, 8);
Console.WriteLine($"({str})H=({res})O");
Console.WriteLine("【16进制转换10进制】--方法一");
res = System.Convert.ToInt32(str, 16); //换成10进制
Console.WriteLine($"({str})H=({res})D");
Console.WriteLine("【16进制转换10进制】--方法二");
res = int.Parse(str, System.Globalization.NumberStyles.AllowHexSpecifier); //换成10进制
Console.WriteLine($"({str})H=({res})D");
Console.WriteLine("【16进制转换10进制】--方法三");
res = System.Int32.Parse(str, System.Globalization.NumberStyles.HexNumber); //换成10进制
Console.WriteLine($"({str})H=({res})D");
}
#endregion
}
#endregion
Console.ReadLine();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)