Horizont
18-09-2009, 12:55
Ciao raga, vi sottopongo un mio problema.
Sto svolgendo un progetto in IJVM che in particolare mi chiede:
1)dato un orario nel formato oooo.oooo.oooo.oooo.oooo.mmmm.mmss.ssss dato in input (20 ch per l ora, 6 per i minuti, 6 per i secondi) devo convertire quest'orario in secondi.
cioè io da quell input dovrò risalire a un qualcosa del tipo 14:40:50
e trasformare tutto in secondi.
il problema è...se io ho 20 caratteri per le ore vuol dire che ho fino a 2^20 ore...come faccio io, quando trasformo da binario a decimale a fare somme successive tipo (ho un 1 su 2^20 quindi dovrei mettere in una variabile locale 1milione e rotti per poi sommarci gli altri 1 sulle varie potenze del 2)
l'ASCII accetta solo cifre a 1 carattere...anche solo 10 come lo memorizzo come costante?
il 9 ad esempio è 0x39...ma il 10 non esiste, come lo esprimo numericamente??
spero di essere stato un minimo chiaro.
In generale il mio meccanismo era quello di leggere carattere per carattere inserito, convertirlo in decimale e avere un numero di ore, minuti e secondi per poi rifare più o meno lo stesso discorso con costanti di 3600 (per le ore) e 60 (per i minuti).
Sto svolgendo un progetto in IJVM che in particolare mi chiede:
1)dato un orario nel formato oooo.oooo.oooo.oooo.oooo.mmmm.mmss.ssss dato in input (20 ch per l ora, 6 per i minuti, 6 per i secondi) devo convertire quest'orario in secondi.
cioè io da quell input dovrò risalire a un qualcosa del tipo 14:40:50
e trasformare tutto in secondi.
il problema è...se io ho 20 caratteri per le ore vuol dire che ho fino a 2^20 ore...come faccio io, quando trasformo da binario a decimale a fare somme successive tipo (ho un 1 su 2^20 quindi dovrei mettere in una variabile locale 1milione e rotti per poi sommarci gli altri 1 sulle varie potenze del 2)
l'ASCII accetta solo cifre a 1 carattere...anche solo 10 come lo memorizzo come costante?
il 9 ad esempio è 0x39...ma il 10 non esiste, come lo esprimo numericamente??
spero di essere stato un minimo chiaro.
In generale il mio meccanismo era quello di leggere carattere per carattere inserito, convertirlo in decimale e avere un numero di ore, minuti e secondi per poi rifare più o meno lo stesso discorso con costanti di 3600 (per le ore) e 60 (per i minuti).