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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 127, средняя оценка - 4.81
andrey3
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 59
#1

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

11.10.2011, 11:05. Просмотров 17974. Ответов 13
Метки нет (Все метки)

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

Вычисление целочисленного логарифма по основанию 2 - C++
Напишите программу для вычисления целочисленного логарифма по основанию 2. На вход программе в первой строке подается число T, далее...

Как в С++ оформить запись ln (логарифма по основанию е (экспонента) - C++
Здравствуйте, собственно вопрос описан ещё в заголовке, добавить могу только то, что находил несколько вариантов, но они не подходили, на...

Перевод из системы по основанию 8 в систему по основанию 10. - C++
Помогите сделать программу в C++ Вот услловие: Перевод из системы по основанию 8 в систему по основанию 10. #include<iostream> ...

Перевод из системы по основанию 16 в систему по основанию 10 - C++
Помогите написать программу перевода из системы по основанию 16 в систему по основанию 10

Перевод из системы по основанию 16 в систему по основанию 10 - C++
программа работает на ура обьясните что к чему хоть основную идею как работает , мне преподу обьяснять надо будет #include <iostream> ...

Перевод из системы по основанию 10 в систему по основанию 8 - C++
Помогите написать программу перевода из системы по основанию 10 системы счисления в систему по основанию 8; Заранее благодарен

Перевод из системы по основанию 16 в систему по основанию 10 - C++
Перевод из системы по основанию 16 в систему по основанию 10 Добавлено через 21 минуту Помогите пожалуйста написать программу

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт CЭксперт С++
9466 / 5479 / 927
Регистрация: 25.07.2009
Сообщений: 10,503
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
программист С++
682 / 584 / 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
440 / 203 / 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
440 / 203 / 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
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
11.10.2011, 13:36     Вычисление логарифма по основанию #9
Цитата Сообщение от andrey3 Посмотреть сообщение
Можете объяснить, как ее рассчитать?
В C99 есть семейство функций вычисления экспоненты (expf, expl). В С89 есть exp. А так ее можно вычислить через разложение в ряд
aeshes
440 / 203 / 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
440 / 203 / 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
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
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     Вычисление логарифма по основанию
Еще ссылки по теме:

Log по основанию 2 - C++
Люди, помогите!!! Нужно написать функцию (Log по основанию 2). Я делал через классы. Так что, все что можно было перегрузить...

Логарифм m по основанию n - C++
Написать функцию, которая по целым n и m вычисляет и возвращает .(логарифм m по основе n).

функция логарифма - C++
какая функция в С++ функция логарифма? и как она используется

значение логарифма - C++
Здраствуйте! помогите пожалуста вычислить приближенное значение логарифма натурального от произвольного аргумента | x | &lt;1, что вводится с...

Логарифм по произвольному основанию - C++
Существует ли функция вычисления логарифма по произвольному основанию? Т.е. что то типа logarithm(осн, число)


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

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

Не по теме:

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru