java基本資料型別的值溢位時進行強制裝換後的值

2021-08-27 18:54:15 字數 536 閱讀 9094

public class datatypeconvert 

}

byte型別佔1個位元組,範圍為-128-127,130已經超出byte型別的範圍,上面**的輸出結果為-126

這個值的獲取過程如下:

130為整數,預設的型別為int型別,佔4個位元組,表示為二進位制為00000000  00000000  00000000 10000010

強制轉換為byte型別,取最後乙個位元組10000010,數字在計算機中以補碼形式存放,該值為補碼,而在控制台輸出的為原碼,根據補碼求得原碼就是輸出的值;

正數原碼,反碼,補碼相同;

負數的反碼:原碼符號位不變,其餘位取反,負數的補碼:反碼加1;

10000010減一取得反碼為10000001,符號位不變,其餘位取反得原碼為:11111110,符號位為1,為負值,數值為2+4+8+16+32+64=126,所以輸出值為-126;

值型別 基本資料型別

關鍵字 說明位元組大小 bool 邏輯值 真 假 1sbyte 有符號 8位整 數 1byte 無符號 8位整數 1short 有符號 16位整數 2ushort 無符號 16位整數 2int int32 有符號 32位整數 4uint 無符號 32位整數 4long int64 有符號 64位整數...

Java 基本資料型別

基本資料型別 變數持有資料本身的值 引用型別 是某個物件的引用,而並非物件本身 引用型別用在物件上的 乙個物件可以被多個引用所指向,但同一時刻,每個引用只能指向唯一的物件 如果乙個物件被多個引用所指向,那麼無論哪個引用對物件的屬性進行修改,都會反映到其他的引用當中 型別 位數 位元組數 取值範圍 舉...

java 基本資料型別

一 基本資料型別 整型 byte short int long 在計算機中以二進位制補碼格式儲存 浮點型 float double 在計算機中以ieee754格式儲存 字元型 char 在計算機中以unicode碼格式儲存 布林型 boolean 只有true和false兩個值 二 1.長整型 lo...