C์ธ์ด - ์ค์ ์๋ฃํ | ์ ์ธ , ์๋ฃํ ํฌ๊ธฐ, ์ต๋๊ฐ ์ต์๊ฐ
* ์ค์ ์๋ฃํ์ ํฌ๊ธฐ ๋ฐ ๋ฒ์ (window)
* ๋ถ๋ ์์์
์ผ๋ฐ์ ์ผ๋ก ์ฌ๋์ด ์ฌ์ฉํ๋๊ฒ์ ๊ณ ์ ์์์ ์ด๋ผ๊ณ ํ๋ค. ex ) 1.8
์ปดํจํฐ์์์ ์ค์ํํ์ ๋ถ๋ ์์์ ์ผ๋ก ํ๊ฒ๋๋๋ฐ, '๋ถ'๋ ๏ฅง๊ฐ ์๋๋ผ , ๋ฅ๋ฅ ๋ ๋ค๋๋ค(float) ํ ๋ ๆตฎ๋ฅผ ์ฌ์ฉํ ๋ง์ด๋ค.
์์ธํ ์๋ฆฌ๋ ๋์ค์ ํ์ํ ๋ ์๋ ๋งํฌ์์ ํ์ธ
์ปดํจํฐ์์์ ์ค์ ํํ: ๊ณ ์ ์์์ vs ๋ถ๋์์์
์ด์ ํธ์ํฐ ํ์๋ผ์ธ์ ๋ณด๋ค๊ฐ, '๋ถ๋์์์ ' ์ด๋ผ๋ ๋จ์ด๋ฅผ ๋ณด๋ฉด ์ด๋ป๊ฒ ํด์ํ๊ฒ ๋๋๋๋ ๊ทธ๋ฐ ํธ์์ด RT๋ก ๋์ด์๋ค. ์๊ฐํด๋ณด๋๊น ๊ต์ฅํ ๋น์ง๊ด์ ์ธ ๋จ์ด๋ค. ์๋ ์์ด๋จ์ด๋ floating point
gsmesie692.tistory.com
* ์ง์ ํ๊ธฐ๋ฒ
์ค์e + ์ง์ : ์ค์ * 10์ ๊ฑฐ๋ญ์ ๊ณฑ ex) 1.5e+2๋ 1.5 * 100 = 150์ด ๋๋ค.
์ค์e - ์ง์ : ์ค์ * 1/10์ ๊ฑฐ๋ญ์ ๊ณฑ ex) 1.5e-2๋ 1.5 * (1/100) = 0.015๊ฐ ๋๋ค.
C์์ ์ง์ํ๊ธฐ๋ฒ์ผ๋ก ์ถ๋ ฅํ ๋๋, %e ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. (exponential notation์ ์ฝ์ด)
*์ค์์ ์ ์ธ
float ์ ์ธ์์๋ ์ซ์ ๋ค์ f๋ฅผ ๋ถ์ฌ์ค๋ค.
long double ์ ์ธ์์๋ ์ซ์๋ค์ l์ ๋ถ์ฌ์ค๋ค.
double์ ์๋ฌด๊ฒ๋ ๋ถ์ด์ง ์๋๋ค.
#include <stdio.h>
int main(){
float num1 = 0.32f;
double num2 = 31.341;
long double num3 = 1.2323135l;
printf("%f %f %lf" , num1, num2, num3);
return 0;
}
* ์ค์์ ์ต์๊ฐ, ์ต๋๊ฐ <float.h> ์ ์ฌ์ฉํ๋ฉด ๋๋ค.