Я как раз вот это читаю
http://learn.javascript.ru/bitwise-operators
Пытаюсь вывести к примеру
var R = ("9");
var Rs = R + " - " + R.charCodeAt().toString(10) + " - " + R.charCodeAt().toString(2) + " - " + R.charCodeAt().toString(16) + "<br>";
Rs += "~ - " + ~(R.charCodeAt().toString(10)) + " - " + ~(R.charCodeAt().toString(2)) + " - " + ~(R.charCodeAt().toString(16)) + "<br>";
document.write(Rs);
А получаю
9 - 57 - 111001 - 39
~ - -58 - -111002 - -40
т.е. как минимум 111002 это явно не то, что я хотел увидеть