最近,我对古巴比伦文明的看法是reading,古巴比伦文明使用以60为基数的数字系统,而不是以10为基数.即使这个数字系统以60为基数,他们仍然能够近似2的平方根——这也是数千年前的事了!
我对此很好奇,想看看十进制(以10为基数)的数字如何转换成六进制(以60为基数).使用R编程语言,我找到了this link个答案,其中给出了将数字从某个基数转换为另一个基数的方法.
然而,这里的基数似乎只能在2到36之间(我想要基数60):
base <- function(b, base = 10)
{
base <- as.integer(base)
if(base > 36 | base < 2) stop("'base' must be between 2 and 36.")
structure(lapply(b, function(x)
{
n <- ceiling(log(x, base))
vec <- numeric()
val <- x
while(n >= 0)
{
rem <- val %/% base^n
val <- val - rem * base^n
vec <- c(vec, rem)
n <- n - 1
}
while(vec[1] == 0 & length(vec) > 1) vec <- vec[-1]
structure(x, base = base, representation = vec)
}), class = "base")
}
我链接的那篇文章的标题是"One eighth equals seven and thirty in this strange base 60 world"——我想看看这篇文章,并将十进制中的"1/8"转换为六进制中的"7和30".
有人能帮我吗?