float형의 유효숫자가 7개로 알고 있는데요.
예를 들어
float a = 2.0e20;
printf("%f", a);
라고 실행하면 a값이 소수점형태로 출력이 되는데 위에서부터 7자리뒤의 값은 엉뚱한값이 나오네요.
예를 들어 20000000234234어쩌고 이런식룡.
뒤의 엉뚱한 값은 어떻게 결정되는건지 궁금합니다.
float a = 2.0e20; float형의 유효자리가 6자리 입니다.
---------------------
float형의 유효숫자가 7개로 알고 있는데요. 예를 들어 float a = 2.0e20; printf("%f", a); 라고 실행하면 a값이 소수점 출력이 되는데 위에서부터 7자리뒤의 값은 엉뚱한값이 나오네요. 예를 들어 20000000234234어쩌고 이런식룡. 뒤의 엉뚱한 값은 어떻게 결정되는건지 궁금합니다.
라고 실행하면 a값이 소수점 출력이 되는데 위에서부터 7자리뒤의 값은 엉뚱한값이 나오네요.
우리는 대개 .. N = a * 10^b 이런 식으로 수를 표현합니다만 .. 컴퓨터는 .. 좀 다르죠 .. N = a * 2^b 이런 식으로 수를 표현합니다 ..
a, b에는 각각 일정 비트씩 배정되어있고요 .. 우리가 제시하는 수에 가장 가까운 a, b를 선택하게 되죠 .. 따라서 우리눈에 딱 떨어져 보이는 decimal 수가 나오진 않게 됩니다 ..
float형은 10진수로 표기할 때 유효자리가 최대 7자리입니다.
보통 때는 6자리라고 생각하시고 작업하세요.
정확한 값을 바라신다면, float 형이 아닌 double 형을 사용하시기 바랍니다.
===== ===== ===== ===== ===== knight2000 of SALM. SALM stood for SALM Ain't a Life Model. SALM is not the life model, but SALM is just the life.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: float형의 유효숫자
float a = 2.0e20;
float형의 유효자리가 6자리 입니다.
---------------------
우리는 대개 ..N = a * 10^b이런 식으로 수를 표현합니다
우리는 대개 ..
N = a * 10^b
이런 식으로 수를 표현합니다만 ..
컴퓨터는 .. 좀 다르죠 ..
N = a * 2^b
이런 식으로 수를 표현합니다 ..
a, b에는 각각 일정 비트씩 배정되어있고요 ..
우리가 제시하는 수에 가장 가까운 a, b를 선택하게 되죠 ..
따라서 우리눈에 딱 떨어져 보이는 decimal 수가 나오진 않게 됩니다 ..
최대 7자리라는 말을 잘못 이해하신 듯...
float형은 10진수로 표기할 때 유효자리가 최대 7자리입니다.
보통 때는 6자리라고 생각하시고 작업하세요.
정확한 값을 바라신다면,
float 형이 아닌 double 형을 사용하시기 바랍니다.
===== ===== ===== ===== =====
knight2000 of SALM.
SALM stood for SALM Ain't a Life Model.
SALM is not the life model, but SALM is just the life.
댓글 달기