>백엔드 개발 >C++ >내장 함수 없이 C/C에서 로그 밑 2를 어떻게 계산하나요?

내장 함수 없이 C/C에서 로그 밑 2를 어떻게 계산하나요?

Barbara Streisand
Barbara Streisand원래의
2024-10-27 08:13:03522검색

How to Calculate Logarithm Base 2 in C/C   without a Built-in Function?

수학적 변환을 사용하여 C/C에서 로그 밑 2를 계산하는 방법

C/C에 내장된 로그 함수는 로그입니다. ()는 자연로그(밑 e)를 계산하고 log10()은 밑이 10인 로그를 계산합니다. 그러나 때로는 로그 밑 2를 계산해야 할 수도 있는데, 이 기능은 직접 제공되지 않습니다.

간단한 수학을 사용하여 로그 밑수 2를 계산하려면 이를 다른 밑수로 변환한 후 기존 로그 함수를 사용할 수 있습니다. 이 변환의 방정식은 다음과 같습니다.

log<sub>2</sub> (x) = log<sub>y</sub> (x) / log<sub>y</sub> (2)

여기서 y는 임의의 밑이 될 수 있습니다. 일반적으로 y는 프로그래밍 언어에서 사용 가능한 로그 함수에 따라 10 또는 e입니다.

C/C에서는 log() 함수를 사용하여 로그 밑 e를 계산하고 log10()을 계산할 수 있습니다. 로그 밑 10을 계산합니다. 따라서 로그 밑 2를 계산하려면 다음 코드를 사용할 수 있습니다.

<code class="c">#include <iostream>
#include <cmath>

double log2(double x) {
  return log10(x) / log10(2);
}

int main() {
  double number;
  std::cout << "Enter a number: ";
  std::cin >> number;

  std::cout << "log2(" << number << ") = " << log2(number) << std::endl;

  return 0;
}</code>

이 코드는 입력 숫자를 가져와 로그 밑 10을 계산하고 이를 로그 밑 2로 나눕니다. 결과는 입력 숫자의 로그 밑 2입니다.

위 내용은 내장 함수 없이 C/C에서 로그 밑 2를 어떻게 계산하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.