Programming/Java

[java] 자료형, x진수 표현법

쑤기c 2021. 9. 18. 16:56

▼기본 자료형(primitive data type)

자료형의 표현범위는 [2의 N승 - 1] (부호 표현용 1비트 제외)

java - 기본 자료형(primitive data type)

 


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바이트)

반응형