https://foro.gambas-es.org/viewtopic.php?f=19&t=5311&p=31370#p31370
-----------------------------------
vicr
Miercoles, 30 Marzo 2016, 15:41

Re: Funciones De Desplazamiento De Bits....
-----------------------------------
Hola, Jsban...

Yo por lo poco que he visto de Javascript hice una búsqueda de la función para ver en los otros lenguajes a los que ha sido portado B2box y si eso resultaba más esclarecedor... y me encontré con éste sitio:

http://aggregate.org/MAGIC/

[url=http://aggregate.org/MAGIC/]El enlace

Allí entre tanta función aparece esto:

[quote]
Next Largest Power of 2

Given a binary integer value x, the next largest power of 2 can be computed by a SWAR algorithm that recursively "folds" the upper bits into the lower bits. This process yields a bit vector with the same most significant 1 as x, but all 1's below it. Adding 1 to that value yields the next largest power of 2. For a 32-bit value:

unsigned int
nlpo2(register unsigned int x)
{
        x |= (x >> 1);
        x |= (x >> 2);
        x |= (x >> 4);
        x |= (x >> 8);
        x |= (x >> 16);
        return(x+1);
}
[/quote]

Por lo que se puede entender que: Se trata de una función recursiva (y que utilizaria los pipe (" | ") para ello ) conocida como "Algoritmo de Precision SWAR" (o algo por el estilo)... lo que me llevó a esta pagina:

http://stackoverflow.com/questions/22081738/how-variable-precision-swar-algorithm-works

Espero te sirva.

Saludos.


