Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: vicho en 23 de Agosto de 2005, 03:19:03 PM

Título: Se Me Pierde La Funcion
Publicado por: vicho en 23 de Agosto de 2005, 03:19:03 PM
 hola como andan?, bueno el rollo es que estoy trabajando en mi motor y por razones que no valen la pena mensionar (cosas de ordenes) necesito extraer el logaritmo en base 2 de un numero, yo dije "bueh... usare log2" y voy y el express me da error C3861: 'log2f': identifier not found, estoy incluyendo math.h y resulta que la misma math.h no la define en algun lado, alguien sabe si esta definida en otro lado o que??

de antemano gracias ;)
Título: Se Me Pierde La Funcion
Publicado por: vincent en 23 de Agosto de 2005, 03:38:51 PM
 mis mates van jodidillas pero juraria que el logaritmo en base n de un número se podia extraer con otra formula más generica....
Título: Se Me Pierde La Funcion
Publicado por: Zaelsius en 23 de Agosto de 2005, 03:58:01 PM
 Tienes que usar log(x) / log(2)

Ese "truco" y algunas cosas más en este tutorial :) :

http://www.lemonteam.com/html/tutorials/pc...c-mac-tips.html
Título: Se Me Pierde La Funcion
Publicado por: vicho en 23 de Agosto de 2005, 04:05:56 PM
 pues gracias que ya lo e usado. lo que si me parece raro es que me de sin definicion, que le pasara a microsoft?? xD
Título: Se Me Pierde La Funcion
Publicado por: nostromo en 23 de Agosto de 2005, 04:08:40 PM
 log2(x)=log(x)/log(2)

log(x) es el logaritmo base e o natural
Título: Se Me Pierde La Funcion
Publicado por: Zaelsius en 23 de Agosto de 2005, 04:11:02 PM
 
Citarlo que si me parece raro es que me de sin definicion, que le pasara a microsoft?? xD
Log2() no forma parte del estándar ANSI C, al igual que round(), itoa(), etc..

Depende del compilador y de la implementación de la librería estándar el que estén disponibles o no.

Por eso lo mejor es evitar usar estas funciones, o proveer implementaciones propias.
Título: Se Me Pierde La Funcion
Publicado por: vincent en 23 de Agosto de 2005, 04:18:08 PM
Cita de: ZaelSiuSTienes que usar log(x) / log(2)
a eso me referia yo!  :P