Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [c++ su linux ] random

  1. #1

    [c++ su linux ] random

    ciao, mi son letto un po' di post su random che altrimenti mi genera sempre un numero uguale.
    alla fine ho risolto con srand(qualcosa) e poi rand().
    mi chiedo però..
    ..quando parte l'OS leggo "generazione del seme dei numeri casuali in corso"..
    non è possibile "pigliare questo" ?? in fondo con il Perl non devo inizializzare niente, basta che gli dia rand().. vuol dire che da qualche parte sto seme ci deve già essere..
    inoltre sul libro che sto seguendo di srand() proprio non ne parla... dipende dall'OS?? su qualcuno bisogna prima inizializzare il seme e su altri no??
    Antonello
    http://www.lobianco.org/antonello
    http://www.ilforestale.org

    Come va? "/usr/bin, /usr/bin!"

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Allora... l'inizializzazione del seme per il generatore di numeri casuali che appare al bootstrap di Linux è il seme per un generatore che il sistema operativo usa (magari per procedure di scheduling o cose simili) e non ha nulla a che vedere con il generatore che usi per il tuo programma.

    Quando tu scrivi un programma che necessita di generare numeri casuali, allora devi far riferimenti a delle funzioni (come rand() appunto) le quali usano un algoritmo per la generazione di numeri pseudo-casuali (il generatore, appunto). Il problema è che per poter essere utilizzato proficuamente questo generatore deve essere inizializzato attraverso un seme.

    Probabilmente esiste un modo per beccare il seme del S.O. ma non ti cambierebbe la vita: sarebbe un seme buono come un altro (credo che Linux salvi, ad ogni fine sessione, il seme attuale per poterlo riprendere nella sessione successiva ed avere, così, minori probabilità di avere un seme uguale con due sessioni diverse.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    grazias della spiegazione...
    Antonello
    http://www.lobianco.org/antonello
    http://www.ilforestale.org

    Come va? "/usr/bin, /usr/bin!"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.