• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    variable
    <numbers>

    std::numbers::log10e

    namespace std::numbers {
      template <class T>
      inline constexpr T log10e_v = unspecified;         // (1)
    
      template <floating_point T>
      inline constexpr T log10e_v<T> = see below;        // (2)
    
      inline constexpr double log10e = log10e_v<double>; // (3)
    }
    

    概要

    eに対する10を底とする対数を表す定数。log10(e)を意味する。

    • (1) : プライマリーテンプレート。これをインスタンス化するとプログラムは不適格となる
    • (2) : 任意の浮動小数点数型Tに対する定数定義。標準で定義される浮動小数点数型ごとの精度に応じた定数が定義される
    • (3) : double型に対する定数定義

    #include <iostream>
    #include <numbers>
    #include <cmath>
    
    int main()
    {
      // double型定数
      double a = std::numbers::log10e;
      std::cout << a << std::endl;
    
      // 任意の浮動小数点数型の定数
      float b = std::numbers::log10e_v<float>;
      std::cout << b << std::endl;
    
      // 動的に計算する
      double c = std::log10(std::numbers::e);
      std::cout << c << std::endl;
    }
    

    出力

    0.434294
    0.434294
    0.434294
    

    バージョン

    言語

    • C++20

    処理系