>>605
http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#5017
> 単項 ~ 式のオペランドの型は,プリミティブの整数的な型でなければならない。
> そうでなければ,コンパイル時エラーが発生する。単項数値昇格(5.6.1)は,
> そのオペランドに対して実行される。単項のビット単位の補数式の型は,
> そのオペランドの昇格された型とする。

> 実行時に,単項のビット単位の補数式の値は,
> そのオペランドの昇格された値のビット単位の補数となる。
> すべての場合において,~x は (-x)-1 に等しいことに注意すること。