int 데이터 타입 배우고 있는데 32비트라길래


2의 32승 -1인 4,294,967,296를 int a에 넣어봤는데 안돼요


혹시나 해서 long a에다가도 넣어봤는데 둘 다 안돼요 왜 이러죠?


아 씨발 생각해보니 -부터니까 반쪼개서 해야하네


기본적으로 int 데이터 유형은 32비트 부호 있는 2의 보수 정수이며 최소값은 -231이고 최대값은 231-1입니다. 

-> 이거는 뭔 뜻이에요? int 최소값, 최대값이 -2 147 483 648부터 +2 147 483 647 아니었나..

 

Java SE 8 이상에서는 int 데이터 유형을 사용하여 최소값이 0이고 최대값이 232-1인 부호 없는 32비트 정수를 나타낼 수 있습니다. 

-> 이거는 굳이 왜 음수부를 날려요? 데이터를 효율적으로 쓰려고요?