|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
I microsecondi a più di 10^6 - 1 non arrivano, quindi sono 32 bit. I secondi attualmente trascorsi a partire dal 1970 sono circa 1 miliardo. Nel 2038 dovrebbe sforare gli interi con segno a 32 bit. Attualmente potresti tranquillamente convertirlo (se non lo è già, nei sistemi a 64 bit dovrebbe appunto essere a 64bit) in un intero a 32 bit.
|
|
|
|
|
|
#22 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
ok..io non avevo capito pero' a cosa mi servono anche i microsecondi...cioe' se i secondi trascorsi dal 1/1/1970 mi rappresenta ora e data, ulizzando anche i microsecondi ottengo nuovamente la data???in questo caso avro' una variabile contenente due volte la data
|
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
No i microsecondi arrivano fino ad un milione e poi ripartono da 0. Sono solo quelli dell'ora corrente.
|
|
|
|
|
|
#24 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
ma con time() non sarebbe piu' facile???mi restituisce gia' un intero di 64 bit...perche' me la sconsigli??
|
|
|
|
|
|
#25 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Quello che ti restituisce time è identico al primo elemento della struttura restituita da gettimeofday |
|
|
|
|
|
|
#26 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
afferrato il concetto
Ho cercato qualcosa su internet e ho notato che viene dichiarata la libreria sys/time.h..è lo stesso??? |
|
|
|
|
|
#27 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non è un funzione standard, fa parte delle api di sistema di Linux.
|
|
|
|
|
|
#28 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
quindi la libreria corretta e' sys/time.h???
|
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
man gettimeofday
e ti dice gli include che servono (sia time.h che sys/time.h in questo caso). |
|
|
|
|
|
#30 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
la struttura definita dalla funzione gettimeofday() restituisce due variabili tv_sec( secondi dal 1/1/1970) e tv_usec (microsecondi). Ho visto che queste varialbili sono di tipo time_t e suseconds_t; equivalgono al tipo int????
|
|
|
|
|
|
#31 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
ho provato ad implementare la finzione gettimeofday () in c++ e funziona correttamente!!
|
|
|
|
|
|
#32 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Questo lo dovresti sapere tu
Non so come è definito il parametro che usi come seed. |
|
|
|
|
|
#33 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
la funzione gettimeofday() mi restituisce 2 interi a 32 bit....volevo sapere se c'è un modo, una funzione per concatenarli e formare un intero di 64 bit!!!li devo convertire in stringa,unirli e poi riconvertire????
|
|
|
|
|
|
#34 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dovresti comunque saperlo fare con i puntatori.
char buffer[16]; //un buffer da 128 bit *(unsigned int *)&buffer[0] = (unsigned int)valore; *(unsigned int *)&buffer[4] = (unsigned int)altrovalore; |
|
|
|
|
|
#35 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
potresti spiegarmi cosa fanno le istruzioni:
*(unsigned int *)&buffer[0] = (unsigned int)valore; *(unsigned int *)&buffer[4] = (unsigned int)altrovalore; prendo i due valori di 32 bit, li converto in" unsugned int" e poi?? "valore" viene inserito nei primi 32 bit di buffer e "altrovalore" negli altri 32?? |
|
|
|
|
|
#36 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Esattamente.
Facendo i passaggi sarebbe questo: char *puntaChar = &buffer[0]; unsigned int *puntaUInt = (unsigned char *)puntaChar; *puntaUInt = (unsigned int)valore; |
|
|
|
|
|
#37 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
Essendo che devo utilizzare una variabile di 128 bit, non si potrebbero convertire separatamente le due variabili di 32 bit in variabili a 64 bit e dopo concatenarli??
|
|
|
|
|
|
#38 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E chi lo può dire se non sappiamo come è fatta questa variabile a 128 bit ?
|
|
|
|
|
|
#39 |
|
Member
Iscritto dal: Dec 2009
Messaggi: 41
|
Il tipo di variabile di 128 bit che prende in input l'algoritmo AES per la generazione dei nuemri pseudorandom è STRING...in questo caso conviene prima convertire i due interi di 32 bit in stringhe,espanderle a 64 bit e poi concatenarle???
|
|
|
|
|
|
#40 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ti ho già fatto vedere comemetterli in un stringa a 128
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:46.




















