Notice
Recent Posts
Recent Comments
삽이 부서질 때까지 삽질
[c++] 자동형 변환, 강제형 변환 본문
형변환은 int -> double로 간다거나 double -> int로 간다거나 다양한 경우가 있다.
같은 자료형을 대입하거나 연산하는 것이 아닌 다른 자료형 대입하거나 변환할 때 발생한다.
먼저 자동형 변환에 대해서 알아보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <iostream> using namespace std; int main() { int i; double d; i = 3; d = i; cout << "d = " << d << endl; d = 5.555; i = d; cout << "i = " << i << endl; return 0; } | cs |
[강제형 변환]
위 예제는 자동형 변환의 예제이다. 사용자가 다른 자료형에 대입함으로써 컴파일러가 알아서 변환하는 것이다.
이 예제는 int형에서 double 형으로 대입하였다. 이 경우 값이 그대로 출력이 되었지만, double 형에서 int 형으로 변환할 땐 소수점이 잘린 것을 확인할 수 있다.
형변환할 땐 값이 변할 수 있다는 점을 알아야한다.
물론 int -> double로 갈 때처럼 데이터가 변하지 않을 수 있지만, 데이터가 변했을 경우가 있다는 것을 알아야한다.
다음에는 강제형 변환을 알아보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> using namespace std; int main() { double d = 5.6; int i = (int)d; cout << double(5) << endl; cout << int(5.5) << endl; cout << int(d) << endl; cout << i << endl; return 0; } | cs |
강제형 변환은 앞에 변환할 자료형을 적는다.
double 형을 int 형으로 강제형 변환하여 5로 나오게 하였다.
'c cpp' 카테고리의 다른 글
[c++] if, switch 조건문 (0) | 2016.11.22 |
---|---|
[c++] 연산자 (0) | 2016.10.22 |
[c++] 변수 선언 (0) | 2016.10.19 |
[c++] 자료형 (0) | 2016.10.19 |
[c++] 화면에 텍스트 출력 (0) | 2016.10.19 |
Comments