程序员

C#——进制之间的转换

2019-04-29  本文已影响0人  左岸花未开

今天晚上在写一个程序,主要的内容是将字符进行等长、哈夫曼以及变长编码。

要编码,肯定就会产生一个问题——给定了数组的下标,如何直接将其转化为二进制编码呢?

我想,既然C#这么强大,肯定有直接的库函数完成这样的操作吧,于是便上网查阅资料,发现果然可以这样。

由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示

例如: 二进制: 1010 表示为 字符串:"1010"

1. 十进制转二进制字符串(d=10)

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

输出结果为:1010

2. 二进制字符串转十进制数

(注,这里需要二进制为字符串)

string bin = "1010";

Console.WriteLine(Convert.ToInt32(bin,2));

输出结果为: 10

3.  二进制字符串转十六进制数

(注,这里需要二进制为字符串)

string bin = "1010";

Console.WriteLine(string.Format("{0:x}",Convert.ToInt32(bin,2));

输出结果为:a

4. 十六进制转二进制字符串

Console.WriteLine(Convert.ToString(0xa,2));

输出结果为:1010

2. 十进制转十六进制字符串(d=10)

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

输出结果为:A

6.十六进制转十进制数

Console.WriteLine(Convert.ToString(0xa,10));

输出结果为:10

上一篇 下一篇

猜你喜欢

热点阅读