1. 1 java已知long型的最大值為9223372036854775808,求9223372036854775808+9223372036854775808 為什麼等於-
溢出了
long最大不是9223372036854775808而是9223372036854775807
因為最高位是符號位,兩個相加就溢出了,符號位本來是正,所以是0,但是相加後溢出,符號位變成1,所以就成負數了
Long.MAX_VALUE=9223372036854775807
其二進制值為:0x7FFFFFFFFFFFFFFF,因為最高位是0,留給符號位,其他位為1
如果讓Long.MAX_VALUE+Long.MAX_VALUE
則看二進制值,相當於左移一位,變成:
0xFFFFFFFFFFFFFFFE
最低位為0,其他位為1,第一位符號位為1,則為負數,下面各位取補碼,即取反+1,得0x10,為2,所以結果是-2
2. java的long_max什麼意思
long_max 指long類型的最大值,對應的是long_min
3. java中long類型的取值范圍到底是多少呢
范圍:-9223372036854775808到9223372036854775807
解釋:long類型是64位的也就是 」-2^64「 到」2^64 -1「.
在定義long類型時,如果數據類型超過int類型的取值范圍,數據後面要加l或L,不超過則不需要加。
byte的取值范圍為-128~127,佔用1個位元組(-2的7次方到2的7次方-1)
short的取值范圍為-32768~32767,佔用2個位元組(-2的15次方到2的15次方-1)
int的取值范圍為(-2147483648~2147483647),佔用4個位元組(-2的31次方到2的31次方-1)
long的取值范圍為(-9223372036854774808~9223372036854774807),佔用8個位元組(-2的63次方到2的63次方-1)。
4. java的long 計算多少范圍內是准確的
long最大值是9223372036854775807(2^64-1)。
long最小值是-9223372036854775808(-2^64)。
long的最大值寫法:long l = 9223372036854775807L;
long的最小值寫法:long l =- 9223372036854775808L;
備註:後面的一個L,必須加上去。