책 내용 질문하기
질문 드립니다
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
104
조회수
189
작성일
2017-03-16
작성자
첨부파일

8번 문제의

float a = 123456789.0e-5f의

서식 문자열 "%f"에 대응하는 실수형 변수 값 a의 답이

1234.56789 가 아닌

1234.567871 인지요?

답변 부탁드려요

답변
2017-03-17 10:00:34

안녕하세요.

실수형의 경우 숫자를 저장할 때 지수부와 가수부를 분리하여 저장하는데, 이를 다시 출력할 때 유효 자리수에 맞게 출력합니다.

이로 인해 C나 Java는 소수점 자리수를 지정하지 않은 경우 기본적으로 6자리를 표현하기 위해 지수부와 가수부로 나눠 저장된 내용을 다시 자리수에 맞추어 출력하면서 일부 오차가 발생하는데, 이 경우가 그런 경우라고 할 수 있습니다.

C언어 처리 과정에 따른 오차이므로 세부적인 내용을 언급할 수는 없지만 이 문제의 경우 소수점 자리수에 맞게 값이 어떻게 출력되는지 확인하는 정도로만 이해하시면 될 것 같습니다.

저장된 값 보다 더 많은 유효 자리수를 표시하는 경우는 오차가 발생할 수 있으므로 문제로 출제될 가능성이 낮습니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-03-17 10:00:34

    안녕하세요.

    실수형의 경우 숫자를 저장할 때 지수부와 가수부를 분리하여 저장하는데, 이를 다시 출력할 때 유효 자리수에 맞게 출력합니다.

    이로 인해 C나 Java는 소수점 자리수를 지정하지 않은 경우 기본적으로 6자리를 표현하기 위해 지수부와 가수부로 나눠 저장된 내용을 다시 자리수에 맞추어 출력하면서 일부 오차가 발생하는데, 이 경우가 그런 경우라고 할 수 있습니다.

    C언어 처리 과정에 따른 오차이므로 세부적인 내용을 언급할 수는 없지만 이 문제의 경우 소수점 자리수에 맞게 값이 어떻게 출력되는지 확인하는 정도로만 이해하시면 될 것 같습니다.

    저장된 값 보다 더 많은 유효 자리수를 표시하는 경우는 오차가 발생할 수 있으므로 문제로 출제될 가능성이 낮습니다.

    오늘도 즐거운 하루 되세요.

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