Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      Compile-time rational arithmetic(since C++11)

      From cppreference.com
      <cpp‎ |numeric
       
       
      Metaprogramming library
      Type traits
      Type categories
      (C++11)
      (C++11)(DR*)
      (C++11)
      (C++11)
      (C++11)
      (C++11)
      (C++11)
      (C++11) 
      Type properties
      (C++11)
      (C++11)
      (C++14)
      (C++11)(deprecated in C++26)
      (C++11)(until C++20*)
      (C++11)(deprecated in C++20)
      (C++11)
      Type trait constants
      Metafunctions
      (C++17)
      Supported operations
      Relationships and property queries
      Type modifications
      Type transformations
      (C++11)(deprecated in C++23)
      (C++11)(deprecated in C++23)
      (C++11)
      (C++11)(until C++20*)(C++17)

      Compile-time rational arithmetic
      Compile-time integer sequences
       
      Compile time rational arithmetic
      (C++11)
      Arithmetic
      (C++11)
      Comparison
      (C++11)
       

      The class templatestd::ratio and associated templates provide compile-time rational arithmetic support. Each instantiation of this template exactly represents any finite rational number.

      [edit]Compile-time fractions

      Defined in header<ratio>
      (C++11)
      represents exact rational fraction
      (class template)[edit]

      The following convenience typedefs that correspond to the SI ratios are provided by the standard library:

      Defined in header<ratio>
      Type Definition
      quecto(since C++26)std::ratio<1,1000000000000000000000000000000> (10-30)[1]
      ronto(since C++26)std::ratio<1,1000000000000000000000000000>    (10-27)[1]
      yocto(since C++11)std::ratio<1,1000000000000000000000000>       (10-24)[1]
      zepto(since C++11)std::ratio<1,1000000000000000000000>          (10-21)[1]
      atto(since C++11)std::ratio<1,1000000000000000000> (10-18)
      femto(since C++11)std::ratio<1,1000000000000000>    (10-15)
      pico(since C++11)std::ratio<1,1000000000000>       (10-12)
      nano(since C++11)std::ratio<1,1000000000>          (10-9)
      micro(since C++11)std::ratio<1,1000000> (10-6)
      milli(since C++11)std::ratio<1,1000>    (10-3)
      centi(since C++11)std::ratio<1,100>     (10-2)
      deci(since C++11)std::ratio<1,10>      (10-1)
      deca(since C++11)std::ratio<10,1>      (101)
      hecto(since C++11)std::ratio<100,1>     (102)
      kilo(since C++11)std::ratio<1000,1>    (103)
      mega(since C++11)std::ratio<1000000,1> (106)
      giga(since C++11)std::ratio<1000000000,1>          (109)
      tera(since C++11)std::ratio<1000000000000,1>       (1012)
      peta(since C++11)std::ratio<1000000000000000,1>    (1015)
      exa(since C++11)std::ratio<1000000000000000000,1> (1018)
      zetta(since C++11)std::ratio<1000000000000000000000,1>          (1021)[2]
      yotta(since C++11)std::ratio<1000000000000000000000000,1>       (1024)[2]
      ronna(since C++26)std::ratio<1000000000000000000000000000,1>    (1027)[2]
      quetta(since C++26)std::ratio<1000000000000000000000000000000,1> (1030)[2]
      1. 1.01.11.21.3These typedefs are only declared ifstd::intmax_t can represent the denominator.
      2. 2.02.12.22.3These typedefs are only declared ifstd::intmax_t can represent the numerator.

      [edit]Compile-time rational arithmetic

      Several alias templates, that perform arithmetic operations onratio objects at compile-time are provided.

      Defined in header<ratio>
      (C++11)
      adds tworatio objects at compile-time
      (alias template)[edit]
      subtracts tworatio objects at compile-time
      (alias template)[edit]
      multiplies tworatio objects at compile-time
      (alias template)[edit]
      divides tworatio objects at compile-time
      (alias template)[edit]

      [edit]Compile-time rational comparison

      Several class templates, that perform comparison operations onratio objects at compile-time are provided.

      Defined in header<ratio>
      compares tworatio objects for equality at compile-time
      (class template)[edit]
      compares tworatio objects for inequality at compile-time
      (class template)[edit]
      (C++11)
      compares tworatio objects forless than at compile-time
      (class template)[edit]
      compares tworatio objects forless than or equal to at compile-time
      (class template)[edit]
      compares tworatio objects forgreater than at compile-time
      (class template)[edit]
      compares tworatio objects forgreater than or equal to at compile-time
      (class template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/ratio&oldid=159656"

      [8]ページ先頭

      ©2009-2025 Movatter.jp