저자윤성우씨의 "난 정말 JAVA를 공부한 적이 없다구요." 에서 가져온것이다. 생각보다 long 형의 표현 가능 범위가 길다.(64bit 의 크기로 추정된다.)

참고로 JAVA 는 C 의 Unsigned 가 없다. 예전에 어디서 본 글이지만 굳이 메모리사용 크기에 대해 엄격한게 아니라면 int 형으로 쓰라는 말을 본적이 있다. 32bit cpu를 기준으로 한번에 32bit 즉 4byte를 처리할수 있기때문에 1byte를 쓰면 4byte의 크기로 맞춰주어야 하기때문에 오히려 속도가 느려진다는 글을본적이 있다. 믿거나 말거나.

 

자료형

데이터

메모리 크기

표현 가능 범위

boolean

 참과 거짓

1 byte

 true, false

char

 문자

2 byte

 모든 유니코드 문자

byte

정수 

1 byte

 -128 ~ 127

short

2 byte

 –32,768 ~ 32,767

int

4 byte

 –2,147,483,648 ~ 2,147,483,647

long

8 byte

 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

float

실수 

4 byte

 -3.40292347E38 ~ +3. 40292347E38

double

8 byte

 -1.79769313486231570308 ~ +1. 79769313486231570308

 

p.s 오라클 java document 에 가면 더 자세히 볼수 있다.

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html