반응형
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
경매하는 개발자
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
전체 방문자
오늘
어제
  • 분류 전체보기 (329)
    • IT (128)
      • 아두이노 (6)
      • C C++ (17)
      • C C++ 컴파일 에러 (3)
      • LINUX (3)
      • Git (1)
      • OpenGL (0)
      • IT 상식 (38)
      • EXCEL & VBA (9)
      • 정보처리기사 (20)
      • 무작정 웹사이트 만들기 (6)
      • 포토샵 (3)
      • 파이썬 & vscode (16)
      • 머신러닝 & 인공지능 & 데이터사이언스 (5)
    • 부동산 (91)
      • 부동산일반 (31)
      • 세금 (6)
      • 경매 (46)
      • 법, 소송 (8)
    • 개인사업자 (43)
      • 할 일 (11)
      • 꿀팁 (9)
      • 세금 (14)
      • 지원사업 (8)
    • 독후감 (25)
      • 독후감 (25)
    • 경제 (4)
      • 거시경제 (4)
    • Tistory (34)
      • 티스토리 (23)
      • 애드센스 (11)
    • 기타 (4)
      • 에세이 (2)
      • 퇴사준비 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 온비드공인인증서
  • 부의추월차선리뷰
  • 부의추월차선줄거리
  • 전입신고
  • 부의추월차선
  • 부가가치세
  • 경매
  • 공매
  • 전자세금계산서
  • 세금계산서
  • 온비드공동인증서
  • 일반과세자
  • 부의추월차선요약
  • 온비드공매
  • 부의추월차선독후감
  • 개인사업자
  • 부의추월차선서평
  • 애드센스
  • 확정일자
  • 티스토리애드센스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

경매하는 개발자

[C/C++] math.h로 정확한 파이값 사용하는 방법
IT/C C++

[C/C++] math.h로 정확한 파이값 사용하는 방법

2023. 5. 25. 21:24
반응형

[C/C++] math.h로 정확한 파이값 사용하는 방법

반응형

 


엄밀히 이야기해서 정확한 파이값은 아니고, double 형으로 표현되는 마지막 자리까지의 파이값이다.

그래도 우리가 정의하는 '#define pi 3.141592'와 같은 방식보다는 훨씬 정확하니 필자는 사용을 권장한다.

 

Math.h로 정의되는 상수값의 종류는 아래와 같다.

반응형

 

 

/** The constant \a e.	*/
#define M_E		2.7182818284590452354

/** The logarithm of the \a e to base 2. */
#define M_LOG2E		1.4426950408889634074	/* log_2 e */

/** The logarithm of the \a e to base 10. */
#define M_LOG10E	0.43429448190325182765	/* log_10 e */

/** The natural logarithm of the 2.	*/
#define M_LN2		0.69314718055994530942	/* log_e 2 */

/** The natural logarithm of the 10.	*/
#define M_LN10		2.30258509299404568402	/* log_e 10 */

/** The constant \a pi.	*/
#define M_PI		3.14159265358979323846	/* pi */

/** The constant \a pi/2.	*/
#define M_PI_2		1.57079632679489661923	/* pi/2 */

/** The constant \a pi/4.	*/
#define M_PI_4		0.78539816339744830962	/* pi/4 */

/** The constant \a 1/pi.	*/
#define M_1_PI		0.31830988618379067154	/* 1/pi */

/** The constant \a 2/pi.	*/
#define M_2_PI		0.63661977236758134308	/* 2/pi */

/** The constant \a 2/sqrt(pi).	*/
#define M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */

/** The square root of 2.	*/
#define M_SQRT2		1.41421356237309504880	/* sqrt(2) */

/** The constant \a 1/sqrt(2).	*/
#define M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */

/** NAN constant.	*/
#define NAN	__builtin_nan("")

/** INFINITY constant.	*/
#define INFINITY	__builtin_inf()
반응형

 

 

헤더 정의부에 아래와 같이 입력하면 사용이 가능하다.

 

#define _USE_MATH_DEFINES
#include <math.h>

 

 

예시)

#include <stdio.h>
#define _USE_MATH_DEFINES
#include <math.h>

//반지름을 입력받아 원의 넓이와 둘레 구하기

int main(){
	int r;
    
    printf("r : ");
    scanf("%d", &r);
    
    printf("원의 넓이 : %.2lf \n", M_PI*r*r);
    printf("원의 둘레 : %.2lf \n", 2*M_PI*r);
    
    return 0;
}
반응형

 

파이(M_PI)말고도 위에 표시된 종류들을 참고하여 다른 정의된 상수값을 사용할 수 있다.

반응형

'IT > C C++' 카테고리의 다른 글

[C언어] 재귀함수(피보나치수열)는 자신을 return하면 안된다  (0) 2023.10.22
[C/C++] float, double은 ==로 비교하면 안되는 이유  (0) 2023.09.27
[C/C++] 키보드 매크로 프로그램 만들기  (0) 2023.03.30
[C/C++] 무조건 강제종료하기  (0) 2023.03.30
[C/C++] Break/Return/Continue 차이  (0) 2023.03.30

    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

    'IT/C C++' 카테고리의 다른 글
    • [C언어] 재귀함수(피보나치수열)는 자신을 return하면 안된다
    • [C/C++] float, double은 ==로 비교하면 안되는 이유
    • [C/C++] 키보드 매크로 프로그램 만들기
    • [C/C++] 무조건 강제종료하기
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널입니다.

    티스토리툴바