进制转换 和 parseInt
进制转换 参考链接
https://www.cnblogs.com/generator/p/10700965.html
https://www.cnblogs.com/dawasai/p/4175877.html
1.二进制 转 十进制
111 参数不得大于2(任何参数的次方未0 结果为1)
=1 * 1*2^0 + 1 * 1*2^1+1 * 1*2^2
=1 + 2 + 4
=7
2.十进制 转 二进制
14
可以展示 2 的次方 有 1,2,4,8
8+4+2 = 14
所以:1110
1110 在转化为10进制做校验
= 0*2^0 + 1*2^1 + 1*2^2 + 1*2^3
=0 + 2 + 4 + 8
= 14
parseInt 参数转化
链接参考
parseInt的第二个参数 其实并不是代表着进制转换
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
parseInt('19',10)
19
=9*10^0 + 1*10^1
=9 + 10
=19
parseInt('22',4)
22
=2*4^0+2*4^1
=2+8
=10
注意:如果parseInt('9',2);直接返回NAN, 在比如parseInt(“17”,6)=1,parseInt(‘17’,9)=16;当解析17时,1属于6进制范围,7不属于6进制范围,当string的数字大于radix时(7>6),它会只解析到它的上一位。