parseInt中的radix如何真正起作用?

时间:2012-09-11 14:21:56

标签: javascript

我想知道基数计算在parseInt中是如何工作的。

我想构建一个自己的公式/函数来完成与parseInt完全相同的操作,这样我就可以把它放到另一种编程语言中,或者告诉我的学生我的数学课,这样他们就可以学习它(不是我永远不会做它)。

我只是想知道它是如何运作的。

我把小提琴放在一起:http://jsfiddle.net/Cy6Bx/

编辑我自己想出来就是结果:https://tinker.io/3ca4c

没有所有的验证和parseInt所具有的,但它是基本的东西,以了解最新情况

1 个答案:

答案 0 :(得分:0)

  

“我想知道基数计算在parseInt中是如何工作的。”

事实上,不是火箭科学,最简单的parseInt实现(与语言无关)将迭代字符串(以相反的顺序)并将radix因子乘以字符数值( '0' - > 0,'1' - > 1,...,'A' - > 10,...,'F' - > 15)在每次迭代中提高基数

类似的东西:

value = 0
base = 1
for every character c in numeric_string (iterate in backwards) 
   var d = digitValueOf(c)
   value = value + d * base
   base = base * radix
end for