javaの型変換について質問させて下さい。
byte型は-128〜127までの範囲を扱うため、
byte a = 128;
がコンパイルエラーになることは理解しております。
今度は2進数で表記し
byte a = 0b10000000;
とした時、コンパイルエラーになることも理解しております。
※int型とみなされるため
ですが、
byte a = (byte)0b10000000;
とした時にコンパイルエラーとならないのは何故でしょうか。
127を超える数値のため、明示的にint型に変換されることまでは理解しておりますが
byte型にキャストしたとしても、byte型の扱う範囲を超えているはずです。
ご回答お願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/22 15:13