책 내용 질문하기
c언어 소수점 명령어 해석좀요 ㅠㅠ
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
63
조회수
45
작성일
2018-09-11
작성자
탈퇴*원
첨부파일

문제6번

float a=123456789.0e-5f

printf("a=%6.1f 지수형 a=%e\n".a,a)

인데요

답이 1234.6 그리고 1.234568e+03이 나왔습니다(여기에서는 왜또 7과 9가 빠졌는지...)

여기서 0e-5f의 뜻과 %6.1f의 뜻도 알려주시고 (6자리를 만들고 소수점 1한자리를 만들라는 얘기 같은데 왜 1234.5가아닌 1234.6이 되는지 궁금합니다)

밑줄친 지수형 a=%e\n 부분도 해석해주시면 감사하겠습니다

답변
2018-09-12 16:00:28

안녕하세요. 길벗 수험서 운영팀입니다.

이해를 위해 답변의 순서가 바뀌었습니다.

1. 0e-5f의 뜻

[답변]

먼저 마지막에 붙어있는 f는 앞의 숫자 값이 float 자료형을 따른다는 의미입니다.

float 자료형 변수인 a에 들어가는 모든 숫자 값 마지막에는 f를 붙여줘야 합니다.

다음으로는 지수형태의 숫자에 대해 이해하실 필요가 있을 것 같습니다.

숫자 뒤에 ‘e-5’ 또는 ‘e+03’은 10^-5(10의 -5승) 또는 10^3(10의 3승)을 의미합니다. 이러한 형식의 문자가 숫자 뒤에 붙어 있는 경우 이를 곱해줘야 일반적으로 우리가 사용하는 숫자 값이 나옵니다.

지수형태로 되어있는 변수 a의 값 '123456789.0e-5'는 일반형태의 실수로 바꾸기 위해서는 아래와 같이 풀이됩니다.

123456789.0 × 10^-5(10의 -5승) = 123456789.0 × 0.00001 = 1234.56789

2. %6.1f의 뜻

[답변]

실수 변수 a의 값 1234.56789를 총 6자리를 확보하여 소수점과 소수점 이하 1자리를 출력하고 남은 4자리에 정수를 출력하라는 의미입니다. 즉, 1234.5를 의미하지만 소수점 자리를 제한하는 경우 그 다음 자리(6)에서 반올림되어 1234.6이 출력되게 됩니다.

3. 지수형 a=%e\n 부분

[답변]

%e는 지수형 실수를 출력하는 서식 문자열입니다.

실수가 지수형 변수에 저장될 때는 정수 부분을 한 자리로 하고 나머지는 소수점 이하로 저장되며, 출력할 때도 이를 그대로 출력하게 됩니다. 즉, 1234.56789를 정수 한 자리의 지수로 바꾸면 됩니다.

1234.56789 = 1.23456789 × 10^3(10의 3승) = 1.23456789e+3

여기에서 C언어 출력 시 소수점을 6자리까지 표기한다는 점(7자리에서 반올림), 그리고 지수부를 2자리로 표현한다는 점을 고려하려 다시 표기해보면 '1.234568e+03'이 됩니다.

행복한 하루되세요.^^

  • *
    2018-09-12 16:00:28

    안녕하세요. 길벗 수험서 운영팀입니다.

    이해를 위해 답변의 순서가 바뀌었습니다.

    1. 0e-5f의 뜻

    [답변]

    먼저 마지막에 붙어있는 f는 앞의 숫자 값이 float 자료형을 따른다는 의미입니다.

    float 자료형 변수인 a에 들어가는 모든 숫자 값 마지막에는 f를 붙여줘야 합니다.

    다음으로는 지수형태의 숫자에 대해 이해하실 필요가 있을 것 같습니다.

    숫자 뒤에 ‘e-5’ 또는 ‘e+03’은 10^-5(10의 -5승) 또는 10^3(10의 3승)을 의미합니다. 이러한 형식의 문자가 숫자 뒤에 붙어 있는 경우 이를 곱해줘야 일반적으로 우리가 사용하는 숫자 값이 나옵니다.

    지수형태로 되어있는 변수 a의 값 '123456789.0e-5'는 일반형태의 실수로 바꾸기 위해서는 아래와 같이 풀이됩니다.

    123456789.0 × 10^-5(10의 -5승) = 123456789.0 × 0.00001 = 1234.56789

    2. %6.1f의 뜻

    [답변]

    실수 변수 a의 값 1234.56789를 총 6자리를 확보하여 소수점과 소수점 이하 1자리를 출력하고 남은 4자리에 정수를 출력하라는 의미입니다. 즉, 1234.5를 의미하지만 소수점 자리를 제한하는 경우 그 다음 자리(6)에서 반올림되어 1234.6이 출력되게 됩니다.

    3. 지수형 a=%e\n 부분

    [답변]

    %e는 지수형 실수를 출력하는 서식 문자열입니다.

    실수가 지수형 변수에 저장될 때는 정수 부분을 한 자리로 하고 나머지는 소수점 이하로 저장되며, 출력할 때도 이를 그대로 출력하게 됩니다. 즉, 1234.56789를 정수 한 자리의 지수로 바꾸면 됩니다.

    1234.56789 = 1.23456789 × 10^3(10의 3승) = 1.23456789e+3

    여기에서 C언어 출력 시 소수점을 6자리까지 표기한다는 점(7자리에서 반올림), 그리고 지수부를 2자리로 표현한다는 점을 고려하려 다시 표기해보면 '1.234568e+03'이 됩니다.

    행복한 하루되세요.^^

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.