http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25149&forum=12
byte a = 0xC7; int b = a;
でいいだろって思ってたら、これだと、bがintでいう(-57)である、0xFFFFFFC7になってしまう。
よって数値としては正しいが、ビット演算としては全然だめ。
byte a = 0xC7; int b = a & 0xff;
とすれば、bに0x000000C7が代入され、期待した結果となる。