1. 程式人生 > >java中byte的範圍計算

java中byte的範圍計算

符號位 二進制 計算 post 取值 我們 log div ava

概念:java中用補碼表示二進制數,補碼的最高位是符號位,最高位為“0”表示正數,最高位為“1”表示負數。
正數補碼為其本身;
負數補碼為其絕對值各位取反加1;
例如:
+21,其二進制表示形式是00010101,則其補碼同樣為00010101
-21,按照概念其絕對值為00010101,各位取反為11101010,再加1為11101011,即-21的二進制表示形式為11101011

步驟:
1、byte為一字節8位,最高位是符號位,即最大值是01111111,因正數的補碼是其本身,即此正數為01111111
十進制表示形式為127
2、最大正數是01111111,那麽最小負是10000000(最大的負數是11111111,即-1)
3、10000000是最小負數的補碼表示形式,我們把補碼計算步驟倒過來就即可。10000000減1得01111111然後取反10000000
因為負數的補碼是其絕對值取反,即10000000為最小負數的絕對值,而10000000的十進制表示是128,所以最小負數是-128
4、由此可以得出byte的取值範圍是-128到+127

java中byte的範圍計算