NOTの処理がバグと言っているのではなくTRUEが1、FALSEが0になっているのをバグと言っておられるのでしょうか?(NOT 0が-1になるのはNOTの仕様としては正しいものです) それならば、TRUEの値が1になるのか-1になるのかは処理系に依存しますのでバグではなく単なる仕様でしかないですね。 ビット演算と論理演算は似て非なるものなので気を付けましょう。 あくまでNOTはビット演算子であり、論理演算子ではないので論理反転を行う「!」が用意されているわけです。