math - 如何将 Base 20 数字转换为十进制?

标签 math type-conversion hexavigesimal

在任何地方都找不到好的例子。如何将 Base 20 数字转换为十进制?我正在处理十进制数。我知道如何从维数小数转换为十进制,这部分很简单。但我正在尝试从维格小数转换回十进制(整数),但我不知道如何做到这一点。有人有什么好的例子吗? 顺便说一句,我正在使用 C++。

例如,我正在尝试找出一种算法,将维格小数 12 转换为其十进制等效值 22(整数)。或者类似的东西:

30(整数)= 1A(维数)

提前致谢,

最佳答案

这实际上只是基础数学。假设您拥有的数字位于字符串中。然后(伪代码)

number = "AF8";
base = 20;
result = 0;
for each c in number:
  temp = numberValueOf(char)
  result = base * result + temp

print "converting ", number, " results in ", result

这里,numberValueOf 函数将字符 09 转换为其等效值,将 A 转换为J 变为 1019

关于math - 如何将 Base 20 数字转换为十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039073/

相关文章:

algorithm - Collat​​z猜想: loose upper/lower bounds?

css - 将直立元件定位在旋转容器内

python - 给定三个维度的散乱数据,需要在特定点对数据进行插值和求函数

javascript - 如何选择列表 (li) 内的所有链接 (a)

swift - CGFloat 没有转换为 UInt32?

c++ - 将不同类型的指针存储在一个数组中

.net - 通缉 : xsl:template that converts a node to its hexavigesimal value?

css - CSS3 动画计时函数 cubic-bezier() 的参数是什么意思?