Skip to content

Instantly share code, notes, and snippets.

@aire-con-gas
Created December 23, 2017 05:19
Show Gist options
  • Select an option

  • Save aire-con-gas/091cfea6feea6b71015f13dbc240c306 to your computer and use it in GitHub Desktop.

Select an option

Save aire-con-gas/091cfea6feea6b71015f13dbc240c306 to your computer and use it in GitHub Desktop.
hammingWeight
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
'use strict';
var hammingWeight2 = function hammingWeight2(n) {
var bits = 0;
var mask = 1;
for (var i = 0; i < 32; i++) {
if ((n & mask) !== 0) {
bits++;
}
mask <<= 1;
}
return bits;
};
var hammingWeight1 = function hammingWeight1(n) {
var count = 0;
for (var i = 0; i < 32; i++) {
count += (n >> i & 1) === 1 ? 1 : 0;
}
return count;
};
console.log('hammingWeight1(20)', hammingWeight1(20));
console.log('hammingWeight2(20)', hammingWeight2(20));
</script>
<script id="jsbin-source-javascript" type="text/javascript">const hammingWeight2 = n => {
let bits = 0;
let mask = 1;
for (let i = 0; i < 32; i++) {
if ((n & mask) !== 0) {
bits++;
}
mask <<= 1;
}
return bits;
}
const hammingWeight1 = n => {
let count = 0;
for(let i = 0; i < 32; i++) {
count += ((n >> i & 1) === 1 ? 1 : 0);
}
return count;
};
console.log('hammingWeight1(20)', hammingWeight1(20));
console.log('hammingWeight2(20)', hammingWeight2(20));</script></body>
</html>
'use strict';
var hammingWeight2 = function hammingWeight2(n) {
var bits = 0;
var mask = 1;
for (var i = 0; i < 32; i++) {
if ((n & mask) !== 0) {
bits++;
}
mask <<= 1;
}
return bits;
};
var hammingWeight1 = function hammingWeight1(n) {
var count = 0;
for (var i = 0; i < 32; i++) {
count += (n >> i & 1) === 1 ? 1 : 0;
}
return count;
};
console.log('hammingWeight1(20)', hammingWeight1(20));
console.log('hammingWeight2(20)', hammingWeight2(20));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment