mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Sunday, December 24, 2006

C언어] 수학 함수 sqrt() log() log10() 헤더 파일: include math.h


수학 함수를 다룰 때에는 math.h 라는 헤더 파일을 인클루드 해주어야 합니다. 아래 예제와 같습니다.

그리고 수학 함수들은 대부분, 정수(int)가 아닌 실수(double)로 입출력합니다.


수학 함수 다루기 예제


파일명: 0.cpp
#include <stdio.h>
#include <math.h>


int main(void) {


  // 제곱근 함수
  double d = 2.0;
  double result = sqrt(d);
  printf("%f\n", result);
  // 출력 결과: 1.414214



  // 자연 로그 (Natural Logarithm) 함수
  d = 333.0;
  result = log(d);
  printf("%f\n", result);
  // 출력 결과: 5.808142



  // 상용 로그(Common Logarithm; 밑(base)이 10인 로그)
  d = 333.0;
  result = log10(d);
  printf("%f\n", result);
  // 출력 결과: 2.522444

  return 0;
}



컴파일 및 실행 결과:
D:\Z>cl 0.cpp && 0.exe
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

0.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:0.exe
0.obj
1.414214
5.808142
2.522444

D:\Z>


sqrt(2)
이렇게 정수를 직접 넣어주면, error C2668: 'sqrt' : ambiguous call to overloaded function 이런 에러가 납니다.

sqrt(2.0)
이렇게 실수형으로 적어주든지

sqrt( (double) 2 )
또는 이런 식으로 실수로 변환(캐스팅)시켜야 합니다.



▶▶ C언어] 실행시 오류(런타임 에러): runtime error R6002 - floating point not loaded

참고: ▶▶ C언어 VC++] 가우시안 랜덤 난수 발생; 가우스 분포 Gaussian Random Number




tag: cpp
C언어 | C/C++ (Visual C++)

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top