실수 상수 — 소수점·지수 표기법과 printf의 %f·%e 출력 | 기초 C언어 3.3.2
기초 C언어Chapter 03 상수 › Section 03 숫자
3.3.2 실수
소수점이 있는 값을 코드에 적고 화면에 출력하는 방법을 살펴봄. 10과 10.0을 구별하고, 소수점 표기와 지수 표기의 관계를 읽은 뒤 printf의 %f·%e가 만드는 출력 모양을 비교함.
01실수 — 소수 부분이 있는 값을 다루기교재 52p
- 실수(Floating-Point Number) — 이 절에서는 3.14, -0.05처럼 소수점을 포함하는 숫자를 다룸. 길이·무게·온도처럼 연속적인 값을 표현할 때 사용.
- 정수와 쓰임 비교 — 정수는 개수나 순서처럼 딱 떨어지는 값에, 실수는 소수 부분까지 나타내야 하는 값에 적합.
- 같은 수치라도 코드 표기는 구별 — 10은 정수 상수, 10.0은 실수형 상수. 수학적으로 같은 값을 나타내도 코드에 적힌 형태가 다름.
| 구분 | 표현하는 값 | 예 |
|---|---|---|
| 정수 | 개수·순서처럼 딱 떨어지는 값 | 3 10 -250 |
| 실수 | 길이·무게·온도처럼 연속적인 값 | 3.14 10.0 -0.05 |
사람 수와 온도계의 눈금
- 교실의 사람 수를 셀 때는 정수가 자연스럽고, 온도계의 값을 읽을 때는 소수 부분이 필요할 수 있음. 표현하려는 값의 성격부터 생각.
- 값을 적는 모양도 의미가 있음 — 코드에서 10과 10.0의 차이를 놓치지 않으면 정수형·실수형 상수를 구별하기 쉬움.
02부동 소수점과 두 가지 표기법교재 52p
- 부동 소수점 — 소수점(point)이 고정되어 있지 않고 떠다니며(float) 위치를 옮길 수 있다는 생각에서 나온 이름.
- 고정 소수점 표기법 — 교재에서 소수점을 직접 써서 값을 나타내는 방식을 부르는 말. 일상적으로 숫자를 쓰는 모양과 같음.
- 지수 표기법 — 가수와 10의 거듭제곱으로 아주 크거나 작은 수를 간결하게 나타내는 방식. 두 표기법 모두 실수형 상수를 적는 방법.
1소수점을 직접 쓰기
- 3.14159 0.0 -2.5
- 값의 크기와 소수 부분을 눈으로 바로 읽기 쉬움.
2지수로 크기 나타내기
- 1.23e2 1.5e-3
- 0을 길게 나열하지 않고 값의 규모를 나타냄.
여기서 배우는 ‘고정 소수점 표기법’은 코드에 숫자를 적는 모양에 대한 설명. 소수점을 직접 썼다고 해서 저장되는 자료형이 별도의 고정 소수점 자료형이 되는 것은 아님.
03지수 표기법 — e는 10의 거듭제곱을 연결교재 52p
- 기본 형태 — 가수e지수 또는 가수E지수. 뜻은 가수 × 10지수.
- 양의 지수 — 10의 거듭제곱을 곱하므로 소수점이 오른쪽으로 이동. e2는 10²를 곱한다는 뜻.
- 음의 지수 — 소수점이 왼쪽으로 이동. e-3는 10⁻³을 곱한다는 뜻이며, 수 전체가 음수라는 뜻은 아님.
| C언어 표기 | 수식으로 읽기 | 소수점 표기 |
|---|---|---|
| 1.23e2 | 1.23 × 10² | 123.0 |
| 3.0E8 | 3.0 × 10⁸ | 300000000.0 |
| 1.5e-3 | 1.5 × 10⁻³ | 0.0015 |
소수점을 옮길 칸 수를 적은 메모
- 지수는 소수점을 어느 방향으로 몇 칸 옮길지 알려 주는 메모처럼 읽을 수 있음. 양수면 오른쪽, 음수면 왼쪽으로 이동.
- 가수와 지수를 나누어 읽기 — 1.5e-3에서는 1.5가 가수, -3이 지수. 먼저 두 부분을 구별하면 아주 작은 수도 쉽게 읽힘.
04실수 출력 — %f와 %e의 역할교재 53p
- printf로 실수를 출력할 때는 주로 %f와 %e를 사용. 출력할 값을 어떤 모양으로 보여 줄지 지정.
- %f — 값을 고정 소수점 방식으로 출력. 소수점을 직접 쓴 모양으로 보여 줌.
- %e — 값을 지수 표기법으로 출력. 가수와 지수를 나누어 값의 크기를 보여 줌.
| 변환 지정자 | 출력 방식 | 예제에서 보이는 모양 |
|---|---|---|
| %f | 고정 소수점 방식 | 3.141590 |
| %e | 지수 표기법 | 1.234500e+08 |
코드에서 값을 적는 방식과 화면에 출력하는 방식은 나누어 봄. 소수점 표기로 적은 값을 %e로 출력하면 화면에는 지수 표기법으로 나타남.
05코드 읽기 — 두 실수를 두 방식으로 출력교재 53p
CODE 3.4 · 실수 출력
#include <stdio.h>int main(void) {float pi = 3.14159;double large_number = 123450000.0;printf("고정 소수점 표기법: %f\n", pi);printf("지수 표기법: %e\n", large_number);return 0;}
- 03줄 — float형 변수 pi를 만들고 실수 값을 넣음. 교재에서 단정밀도 실수형으로 소개하는 자료형.
- 04줄 — double형 변수 large_number를 만들고 값을 넣음. 교재에서는 배정밀도 실수형으로 소개.
- 05~06줄 — pi는 %f로, large_number는 %e로 출력. \n은 출력 뒤 줄을 바꾸는 제어 문자.
변수 선언의 자세한 내용은 뒤에서 배움. 지금은 값이 담긴 변수 이름과 printf의 변환 지정자가 어떻게 연결되는지에 집중.
06실행 결과 — 소수점 아래 자리와 지수 읽기교재 53p
실행 결과 · 수정된 강의 자료 기준
고정 소수점 표기법: 3.141590지수 표기법: 1.234500e+08
- %f의 기본 출력 — 소수점 아래 여섯 자리를 표시하므로 pi는 3.141590으로 보임.
- 저장된 값과 출력 자릿수 — 보통의 32비트 float에서 3.14159는 약 3.141590118…로 저장됨. 이를 소수점 아래 여섯 자리로 출력한 것이 위 결과.
- %e의 결과 해석 — 1.234500e+08은 1.234500 × 10⁸, 즉 123450000을 뜻함. 출력 모양이 달라져도 나타내려는 값의 크기는 같음.
- 교재 결과 정정 — 교재의 3.141592 대신 수정된 강의 자료에 맞춰 3.141590으로 확인. 위 코드에 입력된 값은 3.14159임.
이 절의 핵심 정리
- 10은 정수 상수, 10.0은 실수형 상수로 코드 표기를 구별
- 실수형 상수는 소수점을 직접 쓰거나 지수 표기법으로 나타낸다
- 가수e지수 = 가수 × 10지수이며 E도 쓸 수 있다
- printf의 %f는 고정 소수점, %e는 지수 표기법으로 출력
- 값을 적는 방식·저장된 값·화면에 보여 주는 출력 형식을 나누어 읽는다
강의 자료3.3.2 실수
1 / 10
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 3.4.1 문자 교재 54p~55p — 작은따옴표로 문자를 적고 아스키 코드와 출력 방법을 살펴봅니다.
더 자세한 내용은 교재에서
이 글은 『기초 C언어』 52p~53p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.
댓글
댓글 쓰기