function get_bits(n){
return (n >>> 0).toString(2);
}
function check_same_set_and_unset_bits(n) {
var set = 0, unset = 0;
while (n) {
if (n & 1)
set++;
else
unset++;
n = n >> 1;
}
if (set === unset)
return true;
return false;
}
var n = 178;
document.write(get_bits(n) + "<br />");
if (check_same_set_and_unset_bits(n))
document.write("Yes<br />");
else
document.write("No<br />");
var n = 179;
document.write(get_bits(n) + "<br />");
if (check_same_set_and_unset_bits(n))
document.write("Yes<br />");
else
document.write("No<br />");
/*
run:
10110010
Yes
10110011
No
*/