C# .NET 16进制转换,10进制转换,8进制转换,2进制转换

C# .NET 16进制转换,10进制转换,8进制转换,2进制转换,第1张

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();

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/943624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-18
下一篇 2022-05-18

发表评论

登录后才能评论

评论列表(0条)

保存