用JS进行进制转换
parseInt()是一个很常用的方法,不过不知道有多少朋友知道它实际上是有2个参数,而不是1个。
parseInt(string, radix)
参数 描述
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
来看下效果
>>> parseInt(11)
11
>>> parseInt(11,2)
3
>>> parseInt(11,8)
9
>>> parseInt(11,16)
17
同样是11,添加了2、8、16之后,就编程了相对进制所对应的10进制数值了。
再来看看这样的
>>> parseInt(11)
11
>>> parseInt(011)
9
>>> parseInt(0x11)
17
很有意思是不,当传入的数值以0开头时,parseInt方法会把数值当做8进制处理。以0x开头时,会当做16进制处理。
所以当当使用parseInt时最好指定进制。
parseInt(11,10)
就像这样。
OK,写个小玩意。获取英文字符的ASCII码,然后转换成2进制。
function getBinary(str,split){
var out=””;
var code = 0;
for(var i=0;i