본문으로 바로가기
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 printf() 숫자가 inf로 나오는 이유는

C언어 printf() 숫자가 inf로 나오는 이유는

· 댓글 1 · 바다야크

printf() 숫자 대신에 inf 문자열이 출력?

C언어에서 숫자 계산하고 화면에서 확인하려고 printf()를 실행했는데 숫자는 나오지 않고 엉뚱하게 문자로 "inf"라고 나왔다면 계산 결과가 무한대로(infinite) 숫자가 너무 크다는 뜻입니다. 한마디로 계산 중에 숫자가 너무 커져서 제대로 계산할 수 없었다는 것입니다.

#include <stdio.h>
#include <math.h>

int main( void)
{
    double result = pow( 1500.0, 300.0);

    printf( "x ^ y = %f\n",  result);

    return 0;
}

위 프로그램을 컴파일하고 실행해 보겠습니다.

printf()에서 inf 출력
printf()에서 inf 출력

inf 값으로 오류 계산을 막는 방법

숫자가 너무 커서 계산을 못 했다는 것은 알겠습니다. 그렇다면 더 이상 이 결과로 다음 계산을 하지 않도록 해야 하는데, 어떻게 해야 할까요? 벌써 문제가 있는 결과인데 이 결과로 계속 진행해서는 안 되겠습니다. 이런 경우 C언어에서 제공하는 상수 INFINITY와 비교하여 확일할 수 있습니다.

#include <stdio.h>
#include <math.h>

int main( void)
{
    double result = pow( 1500.0, 300.0);

    if ( INFINITY == result){
        printf( "계산하기에는 인수가 너무 큽니다.\n");
    } else {
       printf( "x ^ y = %f\n",  result);
    }
    return 0;
}

위 코드를 실행하면,

C언어 INFINITY 상수 비교 결과
C언어 INFINITY 상수 비교 결과

INFINITY 상수와 비교하여 계산 오류 값으로 계속 다음 루틴으로 진행하는 것을 막을 수 있고 잘못된 작업을 방지할 수 있습니다.

💬 댓글 1
logo
짱구노리

관리자의 승인을 기다리고 있는 댓글입니다

이름을 저장합니다.

최근글 thumbnail 구글 원 VPN 핸드폰 보안 강화 thumbnail 쿠팡앱 광고 알림 끄기 (2) thumbnail 넥밴드 블루투스 헤드폰 S21 해외직구 사용후기 thumbnail 유튜브 내가 쓴 댓글 확인 삭제 방법 thumbnail 구글 크롬 주소창 검색 엔진 추가 방법 thumbnail 전자책 리더기 블루투스 리모컨 해외직구 추천 (1) thumbnail 스타일브이 환불 요청 방법 (3) thumbnail 갤럭시 핸드폰과 윈도우 컴퓨터 연결 방법
랜섬웨어로 고생 많으셨겠어⋯ 💬바다야크 윈도우가 업그레이드될 수록⋯ 💬바다야크 아이쿵. 저 이거 계속 써야하⋯ 💬swan 랜섬웨어 걸려서 데이타고 머⋯ 💬swan 일부러 숨겨 놓은 것인지 찾⋯ 💬바다야크