Quale sarebbe il modo più veloce per generare un gran numero di bit (pseudo-) casuali. Ogni bit deve essere indipendente ed essere zero o uno con uguale probabilità. Ho potuto ovviamente fare qualche variazione sulmodo più rapido per generare bit casuali
randbit=rand()%2;
ma ritengo come ci dovrebbe essere un modo più veloce, generando più bit casuali da ogni chiamata al generatore di numeri casuali. Idealmente mi piacerebbe ottenere un int o un char in cui ogni bit è casuale e indipendente, ma sono anche possibili altre soluzioni.
L'applicazione non è di natura crittografica, quindi la casualità non è un fattore importante, mentre la velocità e la corretta distribuzione sono importanti.
Quale distribuzione stai cercando? E quanto sei pignolo riguardo alla correttezza della distribuzione. Se vuoi veramente P [x] = 1/n per i numeri x nell'intervallo [1..n], hai comunque bisogno di un buon rng anche se la tua applicazione non è criptata. – AnnaR
Che dire di qualcosa come '((int) rand * rand)% 2'? – C4u