본문 바로가기

프로그래밍

Int, Short, Long 타입에 관해

이번 글에서는 int , short , long 타입의 차이점을 알아보려고 해요



Int4byte(32bit)로 


-2147483648~2147483647


의 범위를 가지고 있어요



Short2byte(16bit)


-32768~32767


의 범위를 가지고 있고



Long 4byte(32bit)


-2147483648~2147483647


의 범위를 가지고 있어요



그럼 여기서 첫번째로


Int와 Long은 범위가 같은데? 라는 생각이 드실건데


윈도우에서는 Int 와 Long 둘 다 4byte지만 리눅스(64bit)에서는 Long은 8byte(64bit)의 크기를

가지고 있어 2의 64 제곱인 


-9223372036854775808 ~ 9223372036854775807

의 범위를 가지게 돼요



두 번째로


32bit면은 2의 32승해서 0 ~ 4,294,967,295까지 아닌가요라는 착각이 드실 수 있는데 양수로

따지면 맞아요 하지만 음수도 있기에 2의 32승에서 2를 나누면


2^32 / 2 = 2^31 , 거기다가 컴퓨터에서는 0부터 시작이니 1을 빼면

음수부분은 2^31, 양수부분은 2^31 - 1 을 해서 


-2147483648~2147483647 가 나오게 돼요