본문 바로가기

카테고리 없음

[C++] 캐스팅(cast) 연산자

void main()
{
	int a, b;
	double su;

	a = 5;
	b = 2;

	su = a / b;
	cout << "su = " << su << endl;

	su = (double)a / b;
	cout << "su = " << su << endl;
}

프로그램 실행화면


캐스팅 연자자가 있다. 보통 나누기를 할 때 자주 사용한다. int형의 변수들을 나눌 때 소수점이 발생하게 된다. 만약 캐스팅 연산자를 사용하지 않으면 int형은 소수점을 계산할 수 없기 때문에 소수점 이하의 값들이 사라지게 된다.


그래서 위에 있는 프로그램 실행화면을 보면 캐스팅 연산자를 사용하지 않은 5 % 2 = 2가 나온 것이다. 프로그램에 애러는 없는 원하는 값이 나오지 않는 상황일 때 논리 오류를 가지고 있을 때 캐스팅 연산자가 필요한데 쓰지 않은 곳이 있는지 확인해 보는 것이 좋을 것이다.