天天看點

JAVA每日總結2021.9.20

原碼就是符号位加上真值的絕對值, 即用第一位表示符号, 其餘位表示值. 比如如果是8位二進制:

[+1]原 = 0000 0001 [-1]原 = 1000 0001

第一位是符号位. 因為第一位是符号位, 是以8位二進制數的取值範圍就是:

[1111 1111 , 0111 1111]

[-127 , 127]

原碼是人腦最容易了解和計算的表示方式.

反碼的表示方法是:

正數的反碼是其本身

負數的反碼是在其原碼的基礎上, 符号位不變,其餘各個位取反.

[+1] = [00000001]原 = [00000001]反 [-1] = [10000001]原 = [11111110]反

可見如果一個反碼表示的是負數, 人腦無法直覺的看出來它的數值. 通常要将其轉換成原碼再計算.

補碼的表示方法是:

正數的補碼就是其本身

負數的補碼是在其原碼的基礎上, 符号位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]補 [-1] = [10000001]原 = [11111110]反 = [11111111]補

對于負數, 補碼表示方式也是人腦無法直覺看出其數值的. 通常也需要轉換成原碼在計算其數值.

資料類型轉換必須滿足如下規則:

1. 不能對boolean類型進行類型轉換。

2. 不能把對象類型轉換成不相關類的對象。

3. 在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換。

4. 轉換過程中可能導緻溢出或損失精度,例如:

繼續閱讀