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

履歴 編集

variable
<numbers>

std::numbers::log10e(C++20)

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

処理系