1.2 指定された整数型が 2 の補数表現か否かを判定する。

これは実はそんなに難しくありません。

template<class T>
struct is_2s_complement
{
  static const bool value = (T(-1) & 3) == 3;
};

-1 の下位 2 ビットを調べてやればすぐに分かります。-1 の下位 2 ビットが 11 (= 3)であれば 2 の補数表現です。


元ネタ
このエントリーを含むはてなブックマーク