进制转换 和 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

w3c

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),它会只解析到它的上一位。

原文地址:https://www.cnblogs.com/zhaozhenghao/p/13955360.html