Head-up rapido: questo sito tratta in realtà di Ingegneria del software . Non otterrai il tuo codice scritto per te qui. Se hai problemi con il codice che hai scritto, fai riferimento a CodeReview SE o Stack Overflow. Consulta le linee guida su come formattare una domanda di successo.
Il problema più esterno qui è che tu non sai come i dati di input si riferiscono all'output desiderato . Questo è un requisito / problema di progettazione e non può, né dovrebbe essere risolto da te.
Devi tornare a chi ti ha assegnato questo incarico e richiedere una spiegazione, ad es.
How do I go from 00:11:22:33 to the 32-bit value? And what is the value in this case? May I have a couple of examples?
La probabile spiegazione, che non suggerisco correttamente dal momento che mio è solo una possibilità , è che il formato è simile alla rappresentazione dell'indirizzo MAC: xx:xx:xx:xx
sono quattro byte rappresentati in esadecimale.
Quindi il problema interno qui è che è necessario dividere la stringa nelle sue parti costitutive
01:ab:38:af:17 => 01, ab, 38, af, 17
che dipende dalla lingua con cui stai lavorando; quindi devi convertire ciascun componente nella sua rappresentazione in formato intero a 8 bit, dove ff è 0xff o 255, cioè 11111111
in binario, e sai per certo come sono assemblati: ad esempio, dovrebbe 0f:00:f0
diventa 000011110000000011110000
, ovvero 111100000000000000001111
? Il primo byte è il meno significativo o quello più significativo? Questo deve essere affrontato nelle specifiche di progettazione che dovrebbero essere state fornite. Non puoi decidere da solo (e se lo fai, hai una probabilità del 50% di sbagliare e una possibilità del 100% di essere ritenuto responsabile se lo sei. In alcune aziende sarai ritenuto responsabile anche se hai ragione , per aver coperto la mancanza di professionalità di qualcun altro).
Il fatto che non ti sia stato detto è un terzo problema che vale la pena di affrontare, in quanto potrebbe indicare un cattivo juju procedurale nel tuo processo di sviluppo. D'altra parte, in alcune aziende e con alcuni colleghi, potrebbe essere visto come lanciare qualcuno sul bus . La tua chiamata. Puoi portare la questione a Workplace SE .
Quindi abbiamo un quarto problema che potrebbe essere irreale, e derivano dalla mia interpretazione, che 11: 12: 12: 04: DD sono in realtà i byte 0x11, 0x12, 0x12, 0x04 e 0xDD nell'ordine LSB o MSB . E questo è che cinque byte non si adatta mai a 32 bit , poiché 5 * 8 è a 40 bit.
O le specifiche sono "cresciute" in numeri interi a 64 bit, o c'è qualcosa di gravemente incasinato nella terra dei designer.