0

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

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

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

我整理了一个小小提琴:http: //jsfiddle.net/Cy6Bx/

编辑只是自己弄清楚这是结果:https ://tinker.io/3ca4c

它没有 parseInt 所具有的所有验证,但它提供了基本的东西来了解发生了什么

4

1 回答 1

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
于 2012-09-11T18:26:11.480 回答