我想知道基数计算在parseInt中是如何工作的。
我想构建一个自己的公式/函数来完成与parseInt完全相同的操作,这样我就可以把它放到另一种编程语言中,或者告诉我的学生我的数学课,这样他们就可以学习它(不是我永远不会做它)。
我只是想知道它是如何运作的。
我把小提琴放在一起:http://jsfiddle.net/Cy6Bx/
编辑我自己想出来就是结果:https://tinker.io/3ca4c
没有所有的验证和parseInt所具有的,但它是基本的东西,以了解最新情况
答案 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