将二进制、八进制、十六进制数字解析为十进制数字(互换)

将二进制、八进制、十六进制数字解析为十进制数字

radix在2-36之间(parseInt("string",radix)转换结果是在radix为 undefined,或者radix为 0 或者没有指定的情况下,一般默认是以10进制转换)

parseInt("101",2)    ==>5   理解为1*(2的0次方等于1)+0*(2的1次方等于2)+1*(2的2次方等于4),所以结果为1+0+4=5
parseInt("666",8)    ==>438  理解为6*(8的0次方等1)+6*(8的1次方等8)+6*(8的2次方等64),所以结果为6+48+384=438
parseInt("888",16)   ==>2184 理解为8*(16的0次方等1)+8*(16的1次方等于16)+8*(16的2次方等于256),所以结果为8+128+2048=2184

parseInt(265,8)        ==> 181 理解为5*(8的0次方等于1)+6*(8的1次方等于8)+2*(8的2次方等于64),所以结果为 5+48+128=181

这里解释一下,

将十进制数字解析为二进制、八进制、十六进制数字

var x = 5;y=438;z=2184
x.toString(2)    ==>"101"
y.toString(8)    ==>"666"
z.toString(16)    ==>"888"

posted @ 2020-07-29 09:57  onceweb  阅读(482)  评论(0)    收藏  举报