책 내용 질문하기
문제풀이
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
63
조회수
72
작성일
2017-09-24
작성자
탈퇴*원
첨부파일

5번에서 실수형 지수형을 표현할때

실수형은 6자리에 1자리소수점으로 하는데 1234.6인 이유는 소수점 반올림된건가요?

지수형은 왜 끝까지 안적고 1.234568e+03인지 궁금합니다

7번은 진수 변환하는법 좀 알려주세요ㅜㅜ

추가적으로 72페이지 질문

72페이지에 while문 결과가 왜 10,55인지 궁금합니다.

10미만인 숫자들은 yes로 이동하여 9,45까지가는건 알겠습니다.

그 다음 10은 no로 이동하여 hap=hap+i라는 식을 거치지 않으니 10,45아닌가요?

답변
2017-09-25 09:47:38

안녕하세요.

1)

float a = 123456789.0e-5f;

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

123456789.0e-5f 에 의해 지수형태로 저장된 a의 값을 원래대로 변경하면 소수점 위치를 왼쪽으로 5칸 이동한 값인

1234.56789가 됩니다.

이 값을 6.1f로 출력하면

______ 소수점을 포함하여 6자리를 확보하여 소수점 1자리를 출력해야 하므로

____.6 이 됩니다. 소수점 첫 째자리까지 출력해야 하는데, 둘째 자리에서 반올림이 되어 .6이 출력되었습니다.

나머지 4자리에 정수 부분을 출력합니다. 만일 출력할 정수 부분보다 확보된 자리수가 적으면 정수는 모두 출력됩니다.

1234.6이 출력됩니다.

%e로 출력하면

소수점 자리수가 지정되지 않으면 f나 e는 모두 기본적으로 소수점 6자리로 출력합니다.

e는 정수 부분을 1자리만 출력하므로

1.234568 이 됩니다. 역시 소수점 마지막 6자리는 7째 자리에서 반올림 된 것이고

1.234568 은 원래의 값 1234.56789에서 소수점 위치가 왼쪽으로 3자리 이동했으므로 e+03이 되어

1.234568e+03으로 출력이 되는 것입니다.

2)

i++에 의해 i가 9가 된 후 hap에 i가 누적됩니다.

While(i < 10)에서 i가 9이므로 Yes가 되어 다시 반복문을 진입합니다.

i++에 의해 i가 10이 된 후 hap에 i가 누적됩니다.

While(i < 10)에서 i가 10이므로 No가 되어 반복문을 빠져나옵니다.

결국 i는 10, hap은 55인 상태로 프로그램이 종료됩니다.

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

  • *
    2017-09-25 09:47:38

    안녕하세요.

    1)

    float a = 123456789.0e-5f;

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

    123456789.0e-5f 에 의해 지수형태로 저장된 a의 값을 원래대로 변경하면 소수점 위치를 왼쪽으로 5칸 이동한 값인

    1234.56789가 됩니다.

    이 값을 6.1f로 출력하면

    ______ 소수점을 포함하여 6자리를 확보하여 소수점 1자리를 출력해야 하므로

    ____.6 이 됩니다. 소수점 첫 째자리까지 출력해야 하는데, 둘째 자리에서 반올림이 되어 .6이 출력되었습니다.

    나머지 4자리에 정수 부분을 출력합니다. 만일 출력할 정수 부분보다 확보된 자리수가 적으면 정수는 모두 출력됩니다.

    1234.6이 출력됩니다.

    %e로 출력하면

    소수점 자리수가 지정되지 않으면 f나 e는 모두 기본적으로 소수점 6자리로 출력합니다.

    e는 정수 부분을 1자리만 출력하므로

    1.234568 이 됩니다. 역시 소수점 마지막 6자리는 7째 자리에서 반올림 된 것이고

    1.234568 은 원래의 값 1234.56789에서 소수점 위치가 왼쪽으로 3자리 이동했으므로 e+03이 되어

    1.234568e+03으로 출력이 되는 것입니다.

    2)

    i++에 의해 i가 9가 된 후 hap에 i가 누적됩니다.

    While(i < 10)에서 i가 9이므로 Yes가 되어 다시 반복문을 진입합니다.

    i++에 의해 i가 10이 된 후 hap에 i가 누적됩니다.

    While(i < 10)에서 i가 10이므로 No가 되어 반복문을 빠져나옵니다.

    결국 i는 10, hap은 55인 상태로 프로그램이 종료됩니다.

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

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