char: 1바이트 값(문자처럼 보이게 출력 가능) + ASCII 개념float / double: 실수는 근사값(정확한 값이 아님) + 기본은 doublebool: 의미가 분명한 참/거짓 표현(조건문/상태값에 최적)char는 보통 1바이트 정수입니다.'A'는 65, 'a'는 97char ch = 'A';
cout << ch << endl; // A (문자로 출력)
cout << (int)ch << endl; // 65 (숫자로 출력)
참고: 숫자 문자
'1'은 정수 1이 아니라 ASCII 코드(49)입니다.
float: 4바이트double: 8바이트double입니다.float로 쓰려면 f 접미사: 3.14fdouble x = 0.1 + 0.2;
cout << x << endl; // 0.3이 '정확히' 찍히지 않을 수 있음
실전 규칙 하나만 기억하면 충분합니다.
==로 정확히 비교하지 말고, 오차 범위(예: epsilon)를 고려한다.bool은 참/거짓을 표현하는 타입입니다: true / falsebool isDead = false;
bool soundOn = true;
char가 “정수 1바이트”인데도 문자처럼 출력되는 이유는 뭘까?== 비교가 위험할까?0/1 대신 bool을 쓰면 어떤 점이 좋아질까?