C#——进制之间的转换

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

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

我想,既然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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容