65.9K
CodeProject 正在变化。 阅读更多。
Home

适用于 .NET (C#) 的 36 进制类型

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.32/5 (31投票s)

2005 年 6 月 7 日

1分钟阅读

viewsIcon

170083

downloadIcon

3949

一个提供 36 进制功能的结构体。

引言

我发现自己想要用尽可能少的字符来表示大量的数字。我想到使用 36 进制类型来表示 36 进制数字。这种方案基本上是十六进制的扩展,但十六进制在 15 (F) 处停止,而 36 进制则继续,G 代表 16,一直到 Z,代表 35。36 进制中的 10 实际上是 10 进制中的 36。36 进制的优点是“数字”由人类可读的字符表示,因此这是一种通过电话传递数值数据的好方法。使用 36 进制,最多可使用 3 个字符(ZZZ)表示高达 46,655 的数字。

代码

我的 Base36 结构体 的代码非常简单,所以我不会详细解释它;下载它并查看。我已经重载了尽可能多的运算符,因此可以对 36 进制数字进行加、减、乘等运算。我尝试使我的 结构体 的方法与 Microsoft 标记类型方法的方式保持一致。您可以以字符串格式或从标准的 10 进制数字实例化一个 36 进制“数字”。

Base36 b1 = 104;
//This has the value 104 in base 10.

Base36 b2 = "DSGFDFDZ434";
//This has the value 50,420,080,957,151,344 in Base 10.

源代码文件应制作成类库。演示项目应制作成控制台应用程序,并添加对类库的引用;这演示了我的 结构体 的实际应用!

就这样了!该 结构体 似乎工作得很好,尽管我确定其中一些代码可以进行优化。祝你好运!

© . All rights reserved.