Kategoriler
C/C++

C++ Matematik Kütüphanesi

C++, sayılar üzerinde matematiksel işlemleri kolayca gerçekleştirmenizi sağlayan bir çok fonksiyona sahiptir. C++ da basit matematik işlemlerini (4 işlem vs.) gerçekleştirebilmek için her hangi bir kütüphane ya da başlık dosyasına ihtiyacınız bulunmuyor. Aritmatik operatörler ile bu işlemleri kolayca gerçekleştirebilirsiniz. Aritmatik operatörler için C++’da Operatörler başlıklı içeriğimi inceleyebilirsiniz. Bu makalede C++ matematik kütüphanesi/başlığı tarafından sağlanan fonksiyon ve metotları ele alacağım.

Öncelikle <cmath> kütüphanesini dosyanıza dahil etmelisiniz. Bu makalede bahsedilecek fonksiyon ve metotlar <cmath> kütüphanesi tarafından sunuluyor.

#include <cmath>

Dipnot: <cmath> kütüphanesi bir C kütüphanesi olan math.h başlığından türetilmiştir.

Bu kütüphane son derece geniştir. Burada en sık kullanılan fonksiyonlara değineceğim.


pow()

Üssü sayıları hesaplamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    cout<<"7^3 = "<<pow(7.0, 3.0)<<endl;
    cout<<"4.73^8 = "<<pow(4.73, 8.0)<<endl;
    cout<<"32.01^1.54 = "<<pow(32.01, 1.54)<<endl;
    return 0;
}

sqrt()

Karakök alma (hesaplama) için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    double param, res;
    param = 1024.0;
    res = sqrt(param);
    cout<<param<<" karekökü : "<<res<<endl;
    return 0;
}

hypot()

Hipotenüs’ü hesaplamak için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    double x, y, res;
    x = 3;
    y = 4;
    res = hypot(x, y);
    cout<<x<<", "<<y<<" ve "<<res<<" dik açılı bir üçgen oluşturur."<<endl;
    return 0;
}

ceil()

Ondalıklı sayıyı yukarı doğru yuvarlamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    cout<<"ceil(3.8) = "<<ceil(3.8)<<endl; //4
    cout<<"ceil(2.3) = "<<ceil(2.3)<<endl; //3
    cout<<"ceil(-2.3) = "<<ceil(-2.3)<<endl; //-2
    cout<<"ceil(-3.8) = "<<ceil(-3.8)<<endl; //-3
    return 0;
}

floor()

Ondalıklı sayıyı aşağı yönlü yuvarlamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    cout<<"floor(3.8) = "<<floor(3.8)<<endl; //3
    cout<<"floor(2.3) = "<<floor(2.3)<<endl; //2
    cout<<"floor(-2.3) = "<<floor(-2.3)<<endl; //-3
    cout<<"floor(-3.8) = "<<floor(-3.8)<<endl; //-4
    return 0;
}

round()

Ondalıklı sayıları en yakın tam sayıya yuvarlamakta kullanılır. Örneğin sonuç 2.3 değeri için 2 olurken 2.6 değeri için 3 olur.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    cout<<"round(3.8) = "<<round(3.8)<<endl; //4
    cout<<"round(2.3) = "<<round(2.3)<<endl; //2
    cout<<"round(-2.3) = "<<round(-2.3)<<endl; //-2
    cout<<"round(-3.8) = "<<round(-3.8)<<endl; //-4
    return 0;
}

cos()

Kosinüs hesaplamak için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 60.0;
    res = cos(param * PI / 180.0);
    cout<<param<<" derecenin kosinüsü "<<res<<" dir."<<endl;
    return 0;
}

sin()

Sinüs hesaplamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 60.0;
    res = cos(param * PI / 180.0);
    cout<<param<<" derecenin kosinüsü "<<res<<" dir."<<endl;
    return 0;
}

tan()

Tanjant hesaplamaktan kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 45.0;
    res = tan(param*PI/180.0);
    cout<<param<<" derecenin tanjantı "<<res<<" dir."<<endl;
    return 0;
}

acos()

Arkkosinüs hesaplamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 0.5;
    res = acos(param)*180.0/PI;
    cout<<param<<" arkkosinüs için "<<res<<" derecedir."<<endl;
    return 0;
}

asin()

Arksinüs hesaplamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 0.5;
    res = asin(param)*180.0/PI;
    cout<<param<<" arksinüs için "<<res<<" derecedir."<<endl;
    return 0;
}

atan()

Arktanjantı hesaplamak için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 1.0;
    res = atan(param)*180.0/PI;
    cout<<param<<" arktanjant için "<<res<<" derecedir."<<endl;
    return 0;
}

atan2()

Arktanjantı 2 parametre ile hesaplamak için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double x, y, res;
    x = -10.0;
    y = 10.0;
    res = atan2(y,x)*180.0/PI;
    cout<<"(x="<<x<<" y="<<y<<") için arktanjantı "<<res<<" derecedir."<<endl;
    return 0;
}

cosh()

Hiperbolik kosinüs hesaplaması yapar.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    double param, res;
    param = log(2.0);
    res = cosh(param);
    cout<<param<<" hiperbolik kosinüsü "<<res<<" dir."<<endl;
    return 0;
}

sinh()

Hiperbolik sinüsü hesaplamak için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    double param, res;
    param = log(2.0);
    res = sinh(param);
    cout<<param<<" hiperbolik sinüsü "<<res<<" dir."<<endl;
    return 0;
}

tanh()

Hiperbolik tanjantı hesaplamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    double param, res;
    param = log(2.0);
    res = tanh(param);
    cout<<param<<" hiperbolik tanjantı "<<res<<" dir."<<endl;
    return 0;
}

acosh()

Hiperbolik kosinüs alanını hesaplamak için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    double param, res;
    param = exp(2) - sinh(2);
    res = acosh(param);
    cout<<param<<" hiperbolik kosinüs alanı "<<res<<" radyandır."<<endl;
    return 0;
}

asinh()

Hiperbolik sinüs alanını hesaplamak için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    double param, res;
    param = exp(2) - cosh(2);
    res = asinh(param);
    cout<<param<<" hiperbolik sinüs alanı "<<res<<" dir."<<endl;
    return 0;
}

atanh()

Hiperbolik tanjant alanı hesaplamakta kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = tanh(1);
    res = atanh(param);
    cout<<param<<" hiperbolik tanjant alanı "<<res<<" dir."<<endl;
    return 0;
}

exp()

Üstel değeri hesaplamaya yarar.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 5.0;
    res = exp(param);
    cout<<param<<" üstel değeri "<<res<<" dir."<<endl;
    return 0;
}

log()

Logaritma için kullanılır.

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main(){
    double param, res;
    param = 5.5;
    res = log(param);
    cout<<"log("<<param<<") = "<<res<<endl;
    return 0;
}

Tüm bu fonksiyonların yanı sıra matematik işlemleri için kullanabileceğiniz bir çok fonksiyon bulunuyor. Burada sadece en sık kullanılan fonksiyonları ve kullanım şeklini hızlıca aktarmaya çalıştım.

Yazar Muhammet ŞAFAK

1992 İstanbul doğumluyum. 2008 yılından beri profesyonel olarak PHP geliştiriyorum. Her ne kadar ağırlıklı olarak PHP üzerinde çalışsam da C, C++, Python, Java programlama dillerini de kullanıyorum.

Bir Cevap Yazın