Programming/Java
[java] 자료형, x진수 표현법
쑤기c
2021. 9. 18. 16:56
▼기본 자료형(primitive data type)
자료형의 표현범위는 [2의 N승 - 1] (부호 표현용 1비트 제외)
public static void main(String[] args) {
//▼정수(decimal)
int num = 10; // 10진수
int bNum = 0B1010; // 2진수(binary): 0B+XXXX (32비트중 앞자리는 자동0)
int oNum = 012; // 8진수: 0+XXXX
int xNum = 0XA; // 16진수: 0x+XXX
long lNum = 12345678900L; //뒤에 L(또는 l)을 붙여서 리터럴(literal)을 8바이트/long으로 지정
//▼실수(real number)
// - 소수점 표현 방식에는 부동 소수점 방식(Floating-Point Number Representation, IEEE 754)
// 과 고정 소수점 방식(Fixed-Point Number Representation)이 있음. java는 부동 소수점 방식.
double dNum = 3.141592; //실수 리터럴은 기본형이 double
float fNum = 3.141592F; //뒤에 F(또는 f)를 붙여서 리터럴을 4바이트/float형으로 지정
System.out.println(num);
System.out.println(bNum);
System.out.println(oNum);
System.out.println(xNum);
System.out.println(lNum);
System.out.println(dNum);
System.out.println(fNum);
}
---------------
Output:
10
10
10
10
12345678900
3.141592
3.141592
// 자바의 부동 소수점 오차 예시
// - 소수점 표현 방식에는 부동 소수점 방식(Floating-Point Number Representation, IEEE 754)
// 과 고정 소수점 방식(Fixed-Point Number Representation)이 있음. java는 부동 소수점 방식.
public void fixedPointDoubleError() {
double dnum = 1;
for(int i = 0; i<10000; i++) {
dnum = dnum + 0.1;
}
System.out.println(dnum);
}
---------------
Output:
1001.000000000159
▼자바의 문자형
- 표현은 전세계 공통인 UNICODE, 인코딩 방식은 UTF-16 (2바이트)
반응형