Last Update 2008/05/18
単項の ~ はビットごとの否定を行います。
(例)
print ~0 . "\n";
# 32ビットマシンの場合 0xFFFFFFFF → 4294967295
print ~1 . "\n";
# 32ビットマシンの場合 0xFFFFFFFE → 4294967294
print ~"い" . "\n";
# "い" の文字コード(EUC-JP) 0xA4A4(1010010010100100) を反転
# → 0x5B5B(0101101101011011) → "[[" を表示
実行結果
4294967295
4294967294
[[