2 の補数の CPU でのみ機能するビット操作を行っています。念のため、コードに static_assert を追加したいと思います。(ウィキペディアの Ones の補数ページには、一部の Univac マシンだけがまだ 1 の補数を使用していると書かれていますが、私は神経質になりたいと思っています。) このコードは防弾で、標準に準拠しており、合理的ですか?
static_assert(~0 == -1, "2s-complement CPU required");
// note the tilde versus the minus sign
1 の補数のマシンにアクセスできません。これをテストする意思のある人はいますか?