1、byte b = (byte) 130;
解析: 計算機中數據的運算都是補碼進行的。
A:獲取130這個數據的二進制。
00000000 00000000 00000000 10000010
這是130的原碼,也是反碼,還是補碼。
B:做截取操作,截成byte類型的了。
10000010
這個結果是補碼。
C:已知補碼求原碼。
符號位 數值位
補碼: 1
0000010
反碼: 1
0000001
原碼: 1
1111110
2.byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是編譯失敗的呢?爲什麼呢?
解析: b = b1 + b2;是有問題的。
因爲變量相加,會首先看類型問題,最終把結果賦值的也會考慮類型問題。
常量相加,首先做加法,然後看結果是否在賦值的數據類型範圍內,如果不是,才報錯。