13.01.2013, 11:00
|
|
Гражданин KAZUS.RU
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
|
Как задефайнить число в степени?
Может кто подскажет решение.
(компилятор IAR)
#define a 5
#define b (надо 5 в степени a)
#define c (надо 10 в степени a)
__________________
Не ошибается лишь тот, кто ни чего не делает!
|
|
|
|
13.01.2013, 21:02
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Как задефайнить число в степени?
#include ‹math›
#define a 5
#define b (pow(5, a))
#define c (pow(10, a))
|
|
|
|
13.01.2013, 23:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Как задефайнить число в степени?
Может просто ручками
#define b 5*5*5*5*5
#define c 10*10*10*10*10
|
|
|
|
14.01.2013, 00:24
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Как задефайнить число в степени?
Сообщение от Boba_spb
|
Может просто ручками
#define b 5*5*5*5*5
#define c 10*10*10*10*10
|
![Валяюсь от смеха](images/smilies/icon_biggrin.gif) А может лучше просто в калькуляторе посчитать да вставить результат?
|
|
|
|
14.01.2013, 00:45
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Как задефайнить число в степени?
realid компилер и сам увидит что выражение константное и подставит что надо
|
|
|
|
14.01.2013, 10:33
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Как задефайнить число в степени?
Вырожение:
Сообщение от Hives
|
#include ‹math›
#define a 5
#define b (pow(5, a))
#define c (pow(10, a))
|
приведет к вызову функции pow() Runtime
А в этом случае, препроцессор подсчитает результат во время компиляции и в коде будет подставлено уже результат, имхо правильнее.
Сообщение от Boba_spb
|
#define b 5*5*5*5*5
#define c 10*10*10*10*10
|
|
|
|
|
14.01.2013, 11:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Как задефайнить число в степени?
Сообщение от nerozero
|
приведет к вызову функции pow() Runtime
|
И будет она считать до посинения каждый раз к обращениям к этим константам ))
|
|
|
|
14.01.2013, 11:39
|
|
Гражданин KAZUS.RU
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
|
Re: Как задефайнить число в степени?
Сообщение от Boba_spb
|
И будет она считать до посинения каждый раз к обращениям к этим константам ))
|
Именно так и происходит!
Не вариант.
__________________
Не ошибается лишь тот, кто ни чего не делает!
|
|
|
|
14.01.2013, 11:42
|
|
Гражданин KAZUS.RU
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
|
Re: Как задефайнить число в степени?
Сообщение от realid
|
А может лучше просто в калькуляторе посчитать да вставить результат?
|
Именно ручками сейчас и делаю, но дело в том что дефайны в разных файлах, в одном исправишь, в другом забудешь и получаешь грабли.
А первый дефайн в разных версиях разный, и каждый раз исправлять везде утомительно.
__________________
Не ошибается лишь тот, кто ни чего не делает!
|
|
|
|
14.01.2013, 12:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Как задефайнить число в степени?
Мда .... Задача ...
И как токо в одном файле для разных платформ пишут программы ...
Не пробовали что нить типа #ifdef, #ifndef попользовать ?
Причем только в одном файле, и его использовать во множестве других?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:41.
|
|