１の補数系で -0 と +0 は等しいか


１の補数を使う処理系にて、整数型の `-0` と `+0` は等しいのでしょうか？

以下 `int` 型を仮定します。  
負の０すなわち内部表現 `1111<中略>1111` である変数 `negative_zero` と  
正の０すなわち内部表現 `0000<中略>0000` である変数 `positive_zero` があるとき

`negative_zero == positive_zero` は真か偽か？  
`negative_zero != positive_zero` は真か偽か？  
`negative_zero < positive_zero` は真か偽か？

ISO/IEC 14882:1998 をチラ見した範囲でははっきりとした規定が見つかりませんでした。

浮動小数点数 `IEEE754` では `-0.0 == +0.0` なわけですが・・・




具体的なアーキテクチャではなく標準仕様 (ANSI/ISO C) の話として答えると、 `-0` と `+0` が等しいという規定は無いように思います。

1の補数系 (や、符号+絶対値) を利用するアーキテクチャでも `-0` をサポートしない可能性があること (その場合はトラップ表現扱い)、`-0`
は通常の演算結果としては発生しない (ビット演算などで無理矢理作り出すしかない) こと、ビット演算を利用しても必ずしも `-0`
が生成されないこと、生成された場合でも変数に格納した時点で `+0` に変換される可能性があることから、積極的に利用する機能では無さそうです。

