기타 강좌

3-4-나.실수형 상수

소수부를 가지면 실수형 상수로 인식된다. 다음이 실수형 상수의 예이며 실생활에서 직접 사용하는 표기법이므로 전혀 어렵지 않을 것이다.

 

-3.14

123.456

5.0

 

5.0의 경우 같은 값이라도 5라고 적으면 정수형 상수가 된다. 실수형 상수임을 명확히 나타내려면 5.0이라고 적든가 아니면 0은 생략하고 5.이라고 적어야 한다. 이런 식으로 소수점을 기준으로 왼쪽에 정수부 오른쪽에 소수부를 적는 방법을 고정 소수점 표기법이라 한다. 실수형 상수 표기에 부동 소수점 표기법을 사용할 수도 있다.

 

3.14e-1

1.23456e2

 

e를 기준으로 왼쪽에 가수 오른쪽에 지수를 적는다. 실수는 내부적으로 모두 부동 소수점 방식으로 기억되지만 상수를 표현할 때는 고정 소수점, 부동 소수점 표기법을 모두 사용할 수 있다. 정수 상수 뒤에 크기와 부호를 나타내는 U, L 등의 접미사를 붙일 수 있듯이 실수형 상수 뒤에도 정확한 크기를 명시하는 F 접미사(소문자도 가능)를 붙일 수 있다. 접미사가 없으면 double형 상수로 인식되며 F를 붙이면 float형으로 인식되고 L을 붙이면 long double형이 된다. 다음 예제는 실수형 값을 출력하는 여러 가지 방법을 보여준다.

 

: float

#include <Turboc.h>

 

void main()

{

     double d;

     d=123.456;

 

     printf("고정 소수점 : %fn",d);

     printf("부동 소수점 : %en",d);

     printf("일반형 : %gn",d);

}

 

실수형 변수 d를 선언하고 이 변수에 123.456이라는 실수 상수를 대입했다. d=1.23456e2;와 같이 부동 소수점 표기법으로 대입해도 결과는 같다. 실수를 표현하는 방법이 여러 가지가 있기 때문에 printf의 실수에 대응되는 서식도 여러 가지가 있다. %f 서식은 고정 소수점으로 실수를 출력하며 %e 서식은 부동 소수점으로 출력한다. %g 서식은 %f와 %e 중 더 짧고 간단한 방법을 자동으로 선택한다. 실행 결과는 다음과 같다.

 

고정 소수점 : 123.456000

부동 소수점 : 1.234560e+002

일반형 : 123.456

 

앞 절에서 배운대로 %와 서식 사이에 총 자리수나 소수점 이하 자리수를 지정할 수도 있다. 소수점 이후 두 자리까지만 출력하고 싶다면 %f 대신 %.2f 서식을 사용하면 된다. 이 경우 소수점 이하 3번째 자리에서 반올림되어 123.46이 출력될 것이다.

실수는 정수에 비해 소수점 이하를 표현할 수 있고 천문학적인 큰 수를 다룰 수 있는 장점이 있지만 구조가 복잡하기 때문에 굉장히 느리다. 요즘 CPU는 부동 소수점을 보조 프로세서가 직접 처리하므로 훨씬 더 빨라졌지만 그렇지 못한 시스템에서는 정수에 비해 대략 10배 정도 느리다. 그래서 꼭 필요한 경우가 아니면 잘 사용되지 않으며 불가피한 경우라도 정수형으로 바꾸어서 다루는 경우가 많다. 예를 들어 소수점 이하 두 자리까지의 정확도를 가지는 백분율이 필요하다면 아예 100을 곱해 만분율을 사용하는 것이 더 유리하다.

TAG •

List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 912
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 799
C언어 [C언어] 방향키 이동 [깔끔하고 완벽 구동] 8 file [Dark].Angel 2009.01.13 13443
플러그인 초고속 카매라 같은 효과를 만드는 Twixtor 플러그인 아방스 2011.12.16 13335
어도비 프리미어 [어도비 프리미어 CS6] 흔들림 보정 어렵지 않아요~. file 아방스 2013.03.13 11555
OSX (맥) 맥(OSX) 매버릭스,요세미티 에서 FTP 서버열기 3 file 아방스 2014.11.13 11523
기타 멋있는 영어 이름ㅇㅅㅇ/ 16 아방스 2008.05.22 10338
어도비 프리미어 [프리미어 프로] 검은색 배경이 있는 자막 만들기 아방스 2016.12.19 10157
플러그인 [플러그인] Optical Flares 1.2.132 버전 패치 2 아방스 2010.11.22 8495
기타 캠타시아 사용법 강좌 11 아방스 2008.03.26 8470
플러그인 [에펙] 피부톤 보정 플러그인 Beauty Box file 아방스 2013.01.07 8080
OSX (맥) 맥 OSX - 휴지통 비워지지 않는 파일 삭제하기. 아방스 2015.01.06 8038
기타 거북명령 프로그램으로 별모양으로 동그라미로 하기 5 프로즌 2008.04.19 7482
플러그인 After effect cs 5.5 plugin 손떨림 보정 플러그인 Warp stabilize 아방스 2011.12.16 7324
플러그인 VC Reflect [반사되는 이미지 만드는 플러그인] 1 file 아방스 2012.03.28 7025
기타 파이썬 총 강좌파일 올립니다... 3 file - 하늘 - 2009.09.10 7010
에프터 이펙트 에펙 단축키 깔끔한정리~ ^^ file 아방스 2012.09.13 6663
C언어 [C언어] (콘솔) 글씨 색깔 바꾸기 1 [Dark].Angel 2009.01.14 6459
기타 캠타시아 설정 방법. 3 아방스 2008.03.09 6435
Vegas Pro 베가스 8 - 분할 / 자르기 / fade in/ out 아방스 2008.06.08 6228
기타 c언어로 간단한 계산기 만들기 3 아방이 2008.01.23 6096
에프터 이펙트 에펙 aec 파일 불러오기 오류 'After Effects error : Failed to connect to Adobe Premiere Pro Dynamic Link. (86 :: 1) file 아방스 2016.07.13 5966
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19