Bitwise & Date Function
HTML
<div class="monospace" id="test"></div>
CSS
<style>
div.monospace{font-family:"Courier New", Courier, monospace;}
div.monospace{font-family:"Courier New", Courier, monospace;}
</style>
JavaScript
function bitwiseAnd() {
var results = "";
results += and(0x00000000, 0xFFFFFFFF);
results += and(0xFFFFFFFF, 0xFFFFFFFF);
results += and(0x88888881, 0xFFFFFFF0);
results += and(0x0FF00001, 0x0FFFFFF0);
results += and(3232235777, 4294967169);
return results;
}
function and(num1, num2) {
var str = "";
str += getBinary(num1) + " (" + getHex(num1) + ") & <br>";
str += getBinary(num2) + " (" + getHex(num2) + ") = <br>";
var num3 = num1 & num2;
str += getBinary(num3) + " (" + getHex(num3) + ")<br>";
var num4 = num3 < 0 ? num3*-1 : num3;
str += getBinary(num4) + " (" + getHex(num4) + ") * -1 <br>";
str += getBinary(Math.abs(num3)) + " (" + getHex(Math.abs(num3)) + ") Math.abs <br>";
var addOne = 1 & num3;
str += getBinary((num3>>>0)) + " (" + getHex((num3>>>0)) + ") >>>0 <br>";
str += "<br>";
return str;
}
function getBinary(num) {
var str = num.toString(2);
if (32 > str.length)
return Array(33 - str.length).join('0') + str;
else
return str;
}
function getHex(num) {
var str = num.toString(16);
if (8 > str.length)
return "0x" + Array(9 - str.length).join('0') + str;
else
return "0x" + str;
}
var str = bitwiseAnd();
$("#test").append(str); //days