* 63페이지 문제5
문제에서 %6.1f 와 %e
이해가 전혀 안됩니다 어떻게 표현해야하는지 전혀 모르겠어요
자세하게 설명 부탁드립니다
*119쪽 44번문제
0111 1111 1111 1111
에 1을 어떻게 더하는지 설명해주세요
왜 1000 0000 0000 0000이 되는지 모르겠습니다.
*111쪽 답이 true 인데
1도 가능한가요?
while(1) 이런 문제를 본거 같아서요
*114쪽 32번문제
문자형 'a'에 대한 아스키코드는 어떻게 구하는건가요
답이 A 65인데 아스키코드로 변환하는 방법은 설명에 못본거같은데
반드시 알아야 하는 건가요?
안녕하세요.
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)
이진수는 1+1은 결과는 0이고 올림수가 1 발생합니다. 그래서
0111 1111 1111 1111
+ 1
--------------------
1000 0000 0000 0000
이 됩니다.
3)
While(1) 은 C언어에서 사용되는 무한반복 조건입니다.
자바에서는 반드시 while(true) 와 같이 기술해야 합니다.
4)
문자를 %d로 출력하면 아스키 코드 값으로 출력을 한다는 것만 알면 됩니다.
각 아스키 코드 값을 암기해야 풀 수 있는 문제가 출제되지는 않을 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-04-10 14:22:06
안녕하세요.
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)
이진수는 1+1은 결과는 0이고 올림수가 1 발생합니다. 그래서
0111 1111 1111 1111
+ 1
--------------------
1000 0000 0000 0000
이 됩니다.
3)
While(1) 은 C언어에서 사용되는 무한반복 조건입니다.
자바에서는 반드시 while(true) 와 같이 기술해야 합니다.
4)
문자를 %d로 출력하면 아스키 코드 값으로 출력을 한다는 것만 알면 됩니다.
각 아스키 코드 값을 암기해야 풀 수 있는 문제가 출제되지는 않을 것입니다.
오늘도 즐거운 하루 되세요.