Форум программистов, компьютерный форум CyberForum.ru

Вычисление логарифма по основанию - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 127, средняя оценка - 4.81
andrey3
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 59
11.10.2011, 11:05     Вычисление логарифма по основанию #1
Здравствуйте, как в языке си вычисляется логарифм по основанию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2011, 11:05     Вычисление логарифма по основанию
Посмотрите здесь:

C++ функция логарифма
Log по основанию 2 C++
Перевод из системы по основанию 10 в систему по основанию 8 C++
C++ Логарифм m по основанию n
Перевод из системы по основанию 16 в систему по основанию 10 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.10.2011, 11:22     Вычисление логарифма по основанию #2
andrey3, основные свойства логарифмов помните?
http://www.cyberforum.ru/cgi-bin/latex.cgi?\log_{a}b\, =\, \frac{\log_{c}b}{\log_{c}a}

В стандартном С определён натуральный логарифм - функция log() в math.h и по основанию 10 - log10(). Угадайте, что на что делить прийдётся?
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
11.10.2011, 11:24     Вычисление логарифма по основанию #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstdlib>
#include <cmath>
 
double log(double a, double b)
{
    return log(b) / log(a);
}
 
int main()
{
    std::cout << log(4, 16);
    return EXIT_SUCCESS;
}
andrey3
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 59
11.10.2011, 11:36  [ТС]     Вычисление логарифма по основанию #4
sandye51, мне нужно на Си.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 11:37     Вычисление логарифма по основанию #5
ну замени cout на printf и будет тебе счастье. функция логарифма никак не поменяется
andrey3
11.10.2011, 11:49  [ТС]
  #6

Не по теме:

А что означает exp, в lg(exp(100))

aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 11:51     Вычисление логарифма по основанию #7
это вызов функции вычисления экспоненты (e в степени х. в вашем случае - в степени 100)
andrey3
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 59
11.10.2011, 11:58  [ТС]     Вычисление логарифма по основанию #8
Цитата Сообщение от aeshes Посмотреть сообщение
это вызов функции вычисления экспоненты (e в степени х. в вашем случае - в степени 100)
Можете объяснить, как ее рассчитать? По заданию нужно ее рассчитать, пользуясь стандартными функциями математической библиотеки (math.h).
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
11.10.2011, 13:36     Вычисление логарифма по основанию #9
Цитата Сообщение от andrey3 Посмотреть сообщение
Можете объяснить, как ее рассчитать?
В C99 есть семейство функций вычисления экспоненты (expf, expl). В С89 есть exp. А так ее можно вычислить через разложение в ряд
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 13:59     Вычисление логарифма по основанию #10
вызов exp(x) - это и так вычисление экспоненты средствами math.h. Можете привести задание полностью, а то не понятно совсем, что вам надо найти
andrey3
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 59
11.10.2011, 14:54  [ТС]     Вычисление логарифма по основанию #11
Цитата Сообщение от aeshes Посмотреть сообщение
вызов exp(x) - это и так вычисление экспоненты средствами math.h. Можете привести задание полностью, а то не понятно совсем, что вам надо найти
Дан пример программы с кодом решения:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <conio.h>
 
// Для числа пи 
#define _USE_MATH_DEFINES
#include <math.h>
 
#include <limits.h>
#include <float.h>
 
int main (void)
{
double R;
double Sr, Lr;
 
printf("\n Enter a real greater than zero: ");
scanf_s("%lf", &R);
Sr = M_PI*R*R;
Lr = 2*M_PI*R;
printf("\n Area of a circle of radius R = %g is %g", R, Sr);
printf("\n The length of a circle of radius R = %g is %g",R,Lr);
puts("");
 
printf("\n  Maximum integer: %d\n ", INT_MAX);
printf(" Maximum real number of float: %g\n ", FLT_MAX);
printf("Maximum real number type double: %g\n ", DBL_MAX);
 
printf("\n Press any key: ");
    _getch();
    return 0;
}
К этому примеру нужно выполнить задание.
Задание следующие:
1. Напишите программу по вычислению площади эллипса. Данные для расчета должны вводиться с клавиатуры пользователем.
2. Рассчитайте величины lg(exp(100) и ln(exp(100), пользуясь стандартными функциями математической библиотеки (math.h) .
3. Используя справочную документацию компилятора, в программе предусмотреть вывод минимальных значений указанных типов данных.
4. Используя справочную документацию компилятора, в программе предусмотреть вывод максимальных и минимальных значений для следующих типов даны: char, short int, long int.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 14:59     Вычисление логарифма по основанию #12
ln(exp(100)) - записываете в программе как log(exp(100))

lg(exp(100)) - записываете как log(exp(100))/log(10)
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
11.10.2011, 15:01     Вычисление логарифма по основанию #13
Цитата Сообщение от andrey3 Посмотреть сообщение
ln(exp(100)
тут даже считать ничего не надо, 100 получится
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2011, 15:04     Вычисление логарифма по основанию
Еще ссылки по теме:

Перевод из системы по основанию 16 в систему по основанию 10 C++
Перевод из системы по основанию 8 в систему по основанию 10. C++
C++ Как в С++ оформить запись ln (логарифма по основанию е (экспонента)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
aeshes
11.10.2011, 15:04     Вычисление логарифма по основанию
  #14

Не по теме:

Nameless One, это специально, чтоб преподу проверять было легче) он увидит, что с параметром 100 работает и успокоится)

Yandex
Объявления
11.10.2011, 15:04     Вычисление логарифма по основанию
Ответ Создать тему
Опции темы

Текущее время: 04:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru