저자윤성우씨의 "난 정말 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