Actualmente estoy escribiendo un código para generar datos binarios. Necesito específicamente generar números de 64 bits con un número determinado de bits establecidos; más precisamente, el procedimiento debería tomar algunos y devolver un número pseudoaleatorio de 64 bits con exactamente bits establecidos en , y el resto establecido en 0.
Mi enfoque actual implica algo como esto:
- Genere un número pseudoaleatorio de 64 bits .
- Cuente los bits en , almacenando el resultado en .
- Si , salida ; de lo contrario, vaya a 1.
Esto funciona, pero parece poco elegante. ¿Hay algún tipo de algoritmo PRNG que pueda generar números con bits establecidos de manera más elegante que esto?