Función cota de número potencia de dos

Iniciado por ferchundo9, 9 Mayo 2017, 22:44 PM

0 Miembros y 1 Visitante están viendo este tema.

ferchundo9

Hola, como parte dun programa que estoy haciendo necesitaria una función que dados dos numeros cualesquiera diese el menor numero potencia de dos que fuera mayor que los dos numeros. Si alguien me pudiese dar una idea de como hacerlo, se lo agradecería

ivancea96

Puedes ir potencia a potencia, desde 2^1, hasta que el número cumpla ambas condiciones.

engel lex

primero escoges el mayor de los 2, luego tienes 2 vias
1- ciclo que vaya elevando 2 hasta que sea mayor que el escogido
2- calcular el logaritmo de el mayor en base 2 y luego elevar 2 al resultado
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MAFUS

#3
Supongamos n tu número y k una variable inicializada a 1.
En un bucle que mueva a nivel de bits n hacia la derecha hasta que n valga 0, k se sumará a sí misma.
Al terminar tendrás en k el número que buscas.


O mejor aún cada vez que n se desplace a la derecha desplazar k una vez a la iźquierda.
Aunque esto supondría una mejora solo para microcontroladores de gama baja donde la suma es más costosa que desplazar bits.