Javascript が以下を誤って評価するのはなぜですか?
0xAABBCCDD & 0xFF00FF00
Javascript の場合:
console.log((0xAABBCCDD & 0xFF00FF00).toString(16)) // -55ff3400
console.log((0xAABBCCDD & 0xFF00FF00) === 0xAA00CC00) // false
C++ の場合:
cout << hex << (0xAABBCCDD & 0xFF00FF00) << endl; // 0xAA00CC00