可以直接使用強制型別轉換: byte b = (byte) aint;
這個操作是直接擷取int中最低乙個位元組,如果int大於255,則值就會變得面目全非了。
對於通過inputstream.read()獲取的int,可採用這個方法將值還原。
這裡有兩種情況,一種是要求保持值不變,例如進行數值計算,可採用強制型別轉換:int i = (int) abyte;
另一種是要求保持最低位元組中各個位不變,3個高位元組全部用0填充,例如進行編譯碼操作,
則需要採用位操作:int i = b & 0xff;
byte a = 1;
int b = a;
編譯器會自動轉換成這個
int b = integer.value(a);
java中的型別轉換
可能我們只是留意了乙個int代表的是整數,占用了4個位元組,而float可以代表小數,而double呢,好吧,能代表更精確的小數,那到底有多精確呢 如果,你感覺你的程式對精確度要求很高,那麼你可以使用double 我們往往也都是那麼一說 primitive型別之間的轉換?好的,乙個int占用4個位元...
java中的型別轉換
基本型別和抽象型別的型別轉換是不同的,基本型別的轉換會改變記憶體中的資料 抽象型別並不對物件本身做更改,而是改變可見性。這是由系統自動完成的型別轉換,由jvm自動完成。轉換規則是對型別進行提公升,也可以說是從儲存範圍小的型別轉換到到儲存範圍大的型別 byte short char int long ...
java中的bcd轉換
16進製制bcd呢,要將16進製制的數字轉換成10進製數字,再將10進製數字轉換成二進位制來表示。例如 單位10進製數字 二進位制 0 0000,1 0001,2 0010,3 0011,4 0100,5 0101,6 0110,7 0111,8 1000,9 1001 又例如 多位10進製數字 二...