/*
获取数字 num 二进制形式第 bit 位的值。注意:
1、bit 从 1 开始
2、返回 0 或 1
3、举例:2 的二进制为 10,第 1 位为 0,第 2 位为 1
输入例子:
valueAtBit(128, 8)
输出例子:
1
*/
function valueAtBit(num, bit) {
var s = num.toString(2);
return s[s.length - bit];
}
function valueAtBit(num, bit) {
return (num >> (bit -1)) & 1;
}
function valueAtBit(num, bit) {
//toString转化为二进制,split将二进制转化为数组,reverse()将数组颠倒顺序
var arr = num.toString(2).split("").reverse();
return arr[bit-1];
}
//我的是按位与运算 看结果是不是0
function valueAtBit(num, bit) {
return (num&Math.pow(2,bit-1))==0?0:1;
}
//es6
function valueAtBit(num, bit) {
var result = num.toString(2);
var res = parseInt(result.charAt(result.length-bit));
return res;
}
console