책 내용 질문하기
1권
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
110
조회수
134
작성일
2018-04-11
작성자
탈퇴*원
첨부파일
P110 8번문제에서 보면 
123456789x10^(-5)이걸 1.23456789x10^8x10^(-5)이므로 1.23456789x10^3이므로
%f는 1234.56789아닌가여? 왜 갑자기 1234.567871이 나온건가요?
그리 %e는 1.23456789e+03아닌가요? 왜 1.234568e+03이 되나요? 
푸는법이 다른가요? 앞에 예제는 이렇게 풀면 답이던데 이건 달라서요 ㅜㅜ

P117 26번을 보면 
while(가로) 여기가로에 왜 1이 아니라 true인가요?
앞에 보면 씨언어 일때는 다 가로에 1이던데 자바는 무조건 1말고 true인건가요??

P395 문제6번에 3번칸에 L=H 5번칸에 Q[Y][6-L]로 써줘도 디버깅 하면 맞는것같은데 답지에 답과달라도 디버깅해서 맞으면 맞다고해주나요?
P400 문제 10번에 1번칸에 n/2이던데 왜 앞에 계속 이런예제들에 INT붙여서 INT(n/2)이런식으로 써주던데 이건왜 INT를 안붙여주나요?
답변
2018-04-11 09:45:50

안녕하세요.

1)

float a = 123456789.0e-5f;

%f, %e와 같이 소수점 자리수가 없는 경우에는 기본적으로 소수점 자리수가 6자리가 표시됩니다.

그러므로

%f로 출력하면

1234.567890으로 표시되어야 하는데, 지수를 실수로 표현할 때 부족한 자리수 변환 시 정규화 과정의 오차로 인해 예상과 다른

값이 표시됩니다. 이로 인해 예상과 다른 결과가 표시되도록 자리수가 부족한 표현은 시험에 출제되지 않을 것으로 예상됩니다.

그러니 적용 원리에 맞는 형태만 파악해 두세요.

%e로 출력하면

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

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

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

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

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

2)

C는 1로 JAVA는 True로 사용해야 합니다.

3)

실제 시험에서도 특정 변수를 사용하라는 조건이 제시되지 않는 다면

결과가 동일하게 산출되는 답안은 모두 맞게 산출됩니다.

4)

C언어에서는 정수형으로 선언된 변수에는 정수값만 저장되므로 INT 함수를 적용한 것처럼 값이 저장됩니다.

그러므로 INT를 사용하지 않은 것입니다.

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

  • *
    2018-04-11 09:45:50

    안녕하세요.

    1)

    float a = 123456789.0e-5f;

    %f, %e와 같이 소수점 자리수가 없는 경우에는 기본적으로 소수점 자리수가 6자리가 표시됩니다.

    그러므로

    %f로 출력하면

    1234.567890으로 표시되어야 하는데, 지수를 실수로 표현할 때 부족한 자리수 변환 시 정규화 과정의 오차로 인해 예상과 다른

    값이 표시됩니다. 이로 인해 예상과 다른 결과가 표시되도록 자리수가 부족한 표현은 시험에 출제되지 않을 것으로 예상됩니다.

    그러니 적용 원리에 맞는 형태만 파악해 두세요.

    %e로 출력하면

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

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

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

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

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

    2)

    C는 1로 JAVA는 True로 사용해야 합니다.

    3)

    실제 시험에서도 특정 변수를 사용하라는 조건이 제시되지 않는 다면

    결과가 동일하게 산출되는 답안은 모두 맞게 산출됩니다.

    4)

    C언어에서는 정수형으로 선언된 변수에는 정수값만 저장되므로 INT 함수를 적용한 것처럼 값이 저장됩니다.

    그러므로 INT를 사용하지 않은 것입니다.

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

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