0Pricing
C++ Academy · 강의

정수형과 부동 소수점 형식

크기, 범위 및 정밀도의 상충 관계를 이해하고 적절한 수치 형식을 선택합니다.

정수형과 부동 소수점 형식은(는) CoddyKit의 무료 C++ Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C++ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C++ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

두 가지 수의 세계

C++에는 두 계열의 수치 형식이 있습니다: 정수(분수가 없고 정확함)와 부동 소수점(분수를 포함하며 근사값임)입니다. 작업에 맞는 계열을 선택하십시오.

정수 형식

64비트 시스템에서 기본 제공 정수 형식과 일반적인 크기는 다음과 같습니다:

  • char — 1바이트
  • short — 2바이트
  • int — 4바이트
  • long — 4바이트 또는 8바이트
  • long long — 8바이트

부호 있는 형식과 부호 없는 형식

unsigned를 추가하면 음수 범위를 없앨 수 있습니다. 부호 없는 산술 연산은 2^N을 법으로 하여 순환합니다 — 때로는 유용하지만, 문제가 되기 쉬운 경우가 많습니다.

unsigned int u = 0;
u -= 1;  // wraps around to 4,294,967,295

고정 너비 정수

정확한 크기가 필요할 때는 <cstdint>의 형식을 사용하십시오 — 프로토콜, 파일 형식 또는 플랫폼 이식성을 위해 유용합니다.

#include <cstdint>
int8_t   tiny  = 100;
int32_t  word  = 100000;
int64_t  big   = 1LL << 40;
uint64_t huge  = 18446744073709551615ULL;

부동 소수점 형식

정밀도가 높아지는 세 가지 부동 소수점 형식은 다음과 같습니다:

  • float — 32비트, 소수점 이하 약 7자리
  • double — 64비트, 소수점 이하 약 15자리
  • long double — 일반적으로 80비트 또는 128비트

IEEE 754 형식

부동 소수점 수는 IEEE 754 표준을 따릅니다: 부호, 지수, 가수입니다. 매우 크거나 작은 값을 표현할 수 있지만 정확하게 표현할 수는 없습니다.

부동 소수점의 함정

대부분의 십진수는 이진수로 정확하게 표현할 수 없습니다. 0.1 + 0.2는 정확히 0.3이 아닙니다.

double sum = 0.1 + 0.2;
std::cout << (sum == 0.3);   // false on most systems
std::cout << sum;            // 0.3 but printed approximately

부동 소수점을 안전하게 비교하기

부동 소수점을 ==로 절대 비교하지 마십시오. 작은 허용 오차(엡실론) 안에서 비교하십시오.

bool approxEqual(double a, double b, double eps = 1e-9) {
    return std::abs(a - b) < eps;
}

특수 부동 소수점 값

부동 소수점 형식에는 세 가지 특수 값이 있습니다: NaN(숫자가 아님), +inf, -inf입니다. 이러한 값을 확인하려면 <cmath>의 조건자를 사용하십시오.

#include <cmath>
double x = std::sqrt(-1.0);
if (std::isnan(x)) std::cout << "Not a number";
if (std::isinf(x)) std::cout << "Infinity";

각 형식을 사용할 때

사용 영역에 따라 선택하십시오:

  • 개수와 인덱스 → int 또는 size_t
  • 과학 또는 그래픽 계산 → double
  • 화폐 → double은 절대 사용하지 마십시오! 크기를 조정한 정수(센트)나 십진수 라이브러리를 사용하십시오

플랫폼에 따라 달라지는 형식 크기

표준은 최소 크기만 보장합니다. int는 16비트, 32비트 또는 64비트일 수 있습니다. 이식성을 위해 데이터 구조에서는 <cstdint>의 고정 너비 형식을 사용하십시오.

빠른 확인

화폐 값을 정확하게 표현하려면 어떤 형식을 사용해야 합니까?

복습

정수는 정확하고 부동 소수점 수는 근사값입니다. 개수에는 int 또는 고정 너비 정수를, 과학 계산에는 double을 선택하고, 화폐에는 부동 소수점 형식을 절대 사용하지 마십시오. 부동 소수점 수는 허용 오차로 비교하고 ==로는 비교하지 마십시오.

자주 묻는 질문

“정수형과 부동 소수점 형식” 강의는 무료인가요?

네 — “정수형과 부동 소수점 형식” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C++ Academy 강의 전체를 잠금 해제할 수 있습니다. C++ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“정수형과 부동 소수점 형식”에서 뭘 배우나요?

크기, 범위 및 정밀도의 상충 관계를 이해하고 적절한 수치 형식을 선택합니다. 브라우저에서 직접 실행하는 실습 코드로 C++ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

C++ Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 C++ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“정수형과 부동 소수점 형식” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 C++ Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 C++ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 정수형과 부동 소수점 형식
  2. cmath 헤더: pow, sqrt, abs, round
  3. random 헤더로 난수 생성하기
  4. 수치 범위와 오버플로 동작
← C++ Academy(으)로 돌아가기