7 Şubat 2018 Çarşamba

rational

Giriş
Şu satırı dahil ederiz.
#include <boost/rational.hpp>
Tanımlama
Şöyle yaparız.
using R = boost::rational<int>;
Şöyle yaparız.
using R = boost::rational<int64_t>;
Constructor
Örnek
Şöyle yaparız.
std::cout << 3 + R(5,9) << "\n";
Çıktı olarak şunu alırız.
32/9
Örnek
Şöyle yaparız.
auto val = boost::rational<int64_t>(499999, 2);
operator + metodu
İki sayıyı toplayıp aşağı yuvarlamak için şöyle yaparız.
using R = boost::rational<int64_t>;
R pq = ...;
std::cout << boost::rational_cast<int64_t>(pq + R(1,2));
operator << metodu
Tam sayı istiyorsak stream'e std::fixed manipulator eklemek gerekir.

Örnek
Şöyle yaparız.
auto val = boost::rational<int64_t>(499999, 2);
std::cout << val << std::endl;
Çıktı olarak şunu alırız
499999/2
Örnek
Şöyle yaparız.
using R = boost::rational<int64_t>;
R pq = ...;
std::cout << pq;
Diğer
rational_cast metodu
Örnek
Şöyle yaparız.
 auto val = boost::rational<int64_t>(499999, 2);
std::cout << boost::rational_cast<double>(val) << std::endl;
Çıktı olarak şunu alırız.
250000
Örnek
Şöyle yaparız.
R r = ...;
auto i = boost::rational_cast<typename R::int_type>(r);
r'nin değeri 32/9 olsun. i'nin değerini yazdırırsak çıktı olarak şunu alırız. Çünkü 3 + 5/9 = 32/9
3

Hiç yorum yok:

Yorum Gönder