十进制转换为二进制:
NumberObject.toString(radix);
其中,radix为可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。
二进制转换为十进制
parseInt(string, radix);
其中,string为必需。要被解析的字符串。radix为可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则parseInt() 将返回 NaN。
题目:将给定数字转换成二进制字符串。如果字符串长度不足 8 位,则在前面补 0 到满8位。
function convertToBinary(num) {
var arr=num.toString(2).split('');
if(arr.length<8){
arr.unshift(0);
}
var result=arr.join('');
return result;
}
首先通过toString方法将num转为2进制形式,然后再将其转为数组,判断其长度是否满足8位;如果不足,则利用unshift方法补0,最后将其通过join方法转成字符串即可