// Math.clz32() 返回数字二进制表示的开头的0的个数。
// 请自行实现。
// clz32(1) // 31
// clz32(10000) // 18
// clz32(25.45) // 27
function clz32(num) {
//转为32位无符号整数(处理负数和小数)
const unit32 = num >>> 0;
// console.log('unit', unit32);
//转为2进制字符串 补足32位
const bin = unit32.toString(2).padStart(32, '0');
// console.log('bin', bin);
//返回前导0的个数(匹配连续0 知道遇到1)
return bin.match(/^0*/)[0].length;
};
console.log(clz32(1));
console.log(clz32(10000));
console.log(clz32(25.45));