Middle
Neden Integer.MAX_VALUE artı bir, Integer.MIN_VALUE'ye eşittir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Integer.MAX_VALUE — Java'da 32 bit işaretli tam sayı türü için maksimum değerdir. 2<sup>31</sup> - 1'e eşittir.
Bellekte Temsili:
Integer.MAX_VALUE: 0111...1111 (31 bir)
Bir eklediğinizde taşma olur:
Integer.MAX_VALUE + 1:
0111...1111
+ 0000...0001
------------
1000...0000
En yüksek bit bir olur, bu da işaretli temsilde negatif sayıya işaret eder. İki tamamlayıcı (Java'da negatif sayıların standart temsili) kullanıldığında, 1000...0000 en küçük negatif sayıya karşılık gelir, bu da 32 bit ile temsil edilebilen en küçük negatif sayı olan Integer.MIN_VALUE (-2<sup>31</sup>)'dir.
Bu davranış, Java'daki ve birçok diğer dildeki işaretli tam sayı türleri için standarttır ve ikili tamamlayıcı kullanır.