タグ

castに関するyassのブックマーク (1)

  • [Java]Byte型からInt型への変換を本気で考える | Creative Gear

    JavaでByte型変数をInt型にキャストする際には、気を付けなければならないことがあります。 前回のエントリーで、Byte型配列を16進数文字列に変換するメソッドを作りましたが、その時にByte型をInt型へ変換するには、ただ単にキャスト変換するのではなく、「0xFF」でANDビット演算しなければ値がおかしくなるという事を書きました。 どういう事かというと… [java] byte a = (byte)0xC8 //10進数では200のはず int b = (int)a; Sytem.out.println(b); [/java] この実行結果は、「200」ではなく、「-56」が表示されます。 それを、 [java] byte a = (byte)0xC8 //10進数では200のはず int b = a & 0xff; Sytem.out.println(b); [/

    yass
    yass 2013/09/18
    " Byte型(8ビット)からInt型(32ビット)に拡張する時に、足りない部分の24ビット分は、プラスマイナスの符号を変えないように埋める / 0xFFも16進数表記のInt型として扱われます"
  • 1