相关文章推荐
痴情的凉面  ·  Kafka log compaction ...·  1 年前    · 
高兴的显示器  ·  家庭服务器 ...·  1 年前    · 
火爆的乒乓球  ·  在Arduino ...·  1 年前    · 

C# 进制之间转换(二进制、十进制、十六进制)

二进制数在C#中不能直接表示,且所有的二进制数都是以字符串进行表示。如:二进制11011111,表示字符串为:“11011111”。

二进制转十进制

    Console.WriteLine($"DF={Convert.ToInt32("11011111", 2)}");

十进制转二进制

    Console.WriteLine($"DF={Convert.ToString(223, 2)}");

十六进制转二进制

    Console.WriteLine($"DF={Convert.ToString(0XDF, 2)}");

注意,这里`ToString`中的第一个参数表示32位有符号整数。

二进制转十六进制

    Console.WriteLine($"DF={string.Format("{0:x}", Convert.ToInt32("11011111", 2))}");

十进制转十六进制

    Console.WriteLine($"DF={Convert.ToString(223, 16)}");

十六进制转十进制

    Console.WriteLine($"DF={Convert.ToString(0XDF, 10)}");

在进行进制数直接转换时,`ToString`、`ToInt32`中要转换成的进制数参数要明确,大多是转成几进制,就直接在参数中填写几进制(其中二进制转十进制、二进制转16进制除外)。

二进制(字符串)转换为十进制的结果为32位有符号整数,转换进数为2;

二进制(字符串)转换为十六进制的结果为整型,为了将其表示成十六进制,还需要借助`string.Format("{0:x}", 转换的二进制数)`将其表示为十六进制,转换进数为2;

十进制(整型)转二进制的结果为字符串,转换进数为2;

十进制(整型)转十六进制的结果为字符串,转换进数为16;

十六进制(整型)转二进制的结果为字符串,转换进数为2;

十六进制(整型)转十进制的结果为字符串,转换进数为10。

总的来说,在进行进制转换时,二进制必须为字符串作为转换参数。

编辑于 2021-12-23 14:43