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

 
Previous Post C언어] DIR 함수; 디렉토리 파일 검색; 와일드카드 지원; findfirst findn...Java/자바/정규식] 대소문자 구분 없이 문자열 바꾸기/치환; Replace String...Java/자바] 16진수 문자열을 정수로 변환 계산; 십육진수 헥사(Hex) 문자열을 숫자...Q: 정규식과 정규표현식의 차이점/차이, 의미 - Regex; Regular Express...Java/자바] 16진수 계산하는 법; 십육진수 헥사(Hex)값 계산도스(DOS)에서, Program Files 폴더 지정/입력하는 법은?Python/파이썬] 현재 유닉스 시간, 유닉스 타임 출력 함수; Get Unix Time...Python/파이썬] 아스키 문자열을 유니코드 문자열로 변환 함수; ASCII String...Python/파이썬] 문자열 길이 구하기 함수/유니코드 문자열 글자 수; Get Strin...CJK 란? CJK 글꼴(Font) 다운로드는? 한중일 삼국 글꼴이 하나로 된 폰트

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

Sunday, December 24, 2006

수학 함수를 다룰 때에는 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

☞ C/C++ (VC++)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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