Javaとunsigned

うちのblogの検索ワードみてると、Javaで符号なし整数を使いたいんだろうなー的雰囲気を感じます。まあとりあえず大失敗した経験からいって、32bit符号なし整数をintで表現するのはやめたほうがいいですよ。

基本はひとつ大きい型で、符号はキャストとビット演算でがんばる。32bit符号なし整数に関しては、たぶん最新バージョンでも変わっていないであろう不可解な挙動があるので、数字の末尾にLをつけよう。

小さい型から大きい型に変換するときは符号拡張が起こるので、符号なし整数の最大値(オールF)とAND演算することで、余計な符号拡張分を消し去ります。

しっかし、うちみたいな場末のblogにたどり着く程度には需要があるのだから、YOU実装しちゃいなよと思う。.NET Frameworkにもあるんだし。

カテゴリ: テクノロジ タグ: , , , 2010年1月31日 10:13 PM
コメントなし