Byte類型問題

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;是有問題的。
因爲變量相加,會首先看類型問題,最終把結果賦值的也會考慮類型問題。
常量相加,首先做加法,然後看結果是否在賦值的數據類型範圍內,如果不是,才報錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章