몽상실현개발주의

[따배씨] 16.13 표준 수학 라이브러리 본문

Language/C

[따배씨] 16.13 표준 수학 라이브러리

migrationArc 2021. 10. 4. 09:18

[따배씨] 16.13 표준 수학 라이브러리

따배씨 - 따라하며 배우는 C언어

16강 전처리기와 라이브러리

16.13 표준 수학 라이브러리

 

#include <stdio.h>

#include <math.h>

int main()
{
    printf("%f\n", cos(3.141592));
    
    double c = 5.0, b = 4.0, a;
    a = sqrt(c * c - b * b);
    printf("a = %f\n", a);
    
    float cf = 5.0f, bf = 4.0f, af;
    af = sqrtf(cf * cf - bf * bf);
    printf("af = %f\n", af);
    
    return 0;
}

 

 

 

#include <stdio.h>

#include <tgmath.h>   // type generic macros

#define SQRT(X) _Generic((X),\
long double: sqrtl, \
default: sqrt, \
float: sqrtf)(X)

int main()
{
    double t1 = SQRT(2.0f);
    double t2 = SQRT(2.0);
    
    if (t1 == t2)
        printf("Identical\n");
    else
        printf("Not identical\n");
    // Not identical
    
    /*
        tgmath.h Library
     */
    
    double a1 = sqrt(2.0f);
    double a2 = sqrt(2.0);
    
    if (a1 == a2)
        printf("Identical\n");
    else
        printf("Not identical\n");
    // Not identical
    
    return 0;
}
  • math 라이브러리와 tgmath 라이브러리의 sqrt 정밀도 차이가 발생

 

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

Comments