티스토리 뷰
🟩 오늘의 목표
- 반복문의 기본 구조와 증감식 위치에 따른 흐름 차이를 복습한다.
- C++ 스타일의 형변환(static_cast)과 실수의 정밀도 오차에 대해 새로 학습하고 이해한다.
- 자료형의 한계로 발생하는 오버플로우 현상과 문자열 변환 함수를 복습한다.
🟧 1. 반복문과 흐름 제어 (복습)
🟦 반복문의 구조와 증감식
while문에서 i++가 출력문 전후 어디에 위치하느냐에 따라 출력되는 값의 범위가 달라지는 원리를 확인하고 복습했다. 또한 조건 검사를 나중에 수행하여 최소 한 번은 무조건 코드를 실행하는 do-while문의 특성을 다시 점검했다.
🟦 플래그 변수와 분기문
bool 타입 변수를 활용해 특정 상태에 따라 루프를 종료하는 논리 구조를 복습했다. break를 통한 루프 탈출과 continue를 통한 회차 건너뛰기를 연습했으며, 특히 while문에서 continue 사용 시 증감식 위치에 따라 무한 루프에 빠질 수 있다는 점을 다시 확인했다.
🟧 2. 형변환의 종류와 C++ 스타일 (새로 알게 된 내용)
🟦 C++ 명시적 형변환
기존에 사용하던 C언어 스타일의 (int)ch 방식 외에 C++ 전용인 static_cast<int>(ch) 형식을 새로 배웠다. 이 방식은 코드가 명확하게 눈에 띄며, 컴파일 시점에 타입을 체크해주어 훨씬 안전하다는 사실을 새로 알게 되었다.
🟦 데이터 절삭
큰 타입에서 작은 타입으로 강제 변환 시 소수점 이하 데이터가 반올림 없이 버려지는 절삭 현상을 확인하고 복습했다.
🟧 3. 실수의 연산 오차와 메모리 특성 (새로 알게 된 내용)
🟦 실수 연산의 정밀도 한계
컴퓨터가 실수를 2진수로 저장하는 과정에서 무한 소수가 발생하여 미세한 오차가 생긴다는 점을 새로 알게 되었다. 0.1 + 0.2를 출력했을 때 정확히 0.3이 아닌 0.30000000000000004가 나오는 현상을 통해, 실수를 비교 연산할 때는 매우 세심한 주의가 필요함을 인지했다.
🟧 4. 오버플로우와 문자열 변환 (복습)
🟦 자료형의 한계와 오버플로우
변수가 담을 수 있는 최대치를 넘기면 값이 음수로 변하거나 최소값으로 돌아가는 왜곡 현상을 복습했다. byte 타입에서 127에 1을 더하면 -128이 되는 원리를 직접 코드로 확인했다.
🟦 문자열-숫자 변환 함수
#include <string> 헤더의 stoi, stod를 사용하여 문자열을 숫자로 바꾸고, to_string을 통해 숫자를 문자열로 변환하는 방법을 복습했다.
🟫 오늘 느낀 점
- 기존에 알던 반복문과 형변환 지식을 복습하며 기초를 다졌고, C++ 전용인 static_cast와 실수의 이진수 저장 방식에 따른 정밀도 오차를 새로 배우며 자료형의 동작 원리를 더 깊이 이해하게 되었다.
'내일배움캠프 Unreal_7기 > 본캠프' 카테고리의 다른 글
| TIL - 22일차 (0) | 2025.12.29 |
|---|---|
| TIL - 21일차 (0) | 2025.12.29 |
| TIL - 19일차 (0) | 2025.12.24 |
| TIL - 18일차 (0) | 2025.12.23 |
| TIL - 17일차 (0) | 2025.12.22 |

