|
Allora ho deciso di mettere tutta la traccia per essere più chiaro:
- S'implementino alcune funzioni di conversione tra sistemi di numerazione in varie basi.
1) void dec2bin(unsigned int inp, char binstr[32])
Memorizza la rappresentazione binaria di inp nel vettore binstr.
Il bit meno significativo è memorizzato in binstr[0].
I valori di inp sono interi unsigned a 32 bit (ovvero limitati all'intervallo 0…232-1).
2) unsigned int bin2dec(char binstr[32])
Ha come valore di ritorno la rappresentazione decimale di binstr.
Il bit meno significativo è memorizzato in binstr[0].
Attenzione!
Il vettore di caratteri binstr NON è una stringa di caratteri, perché non è presente
il carattere di terminazione ‘\0’.
Quindi, non si possono utilizzare su questo vettore le funzioni di manipolazione delle
stringhe (strcpy, strcat, ecc.).
Qualsiasi implementazione alternativa verrà considerata errata.
NON è necessario (quindi altamente SCONSIGLIATO)
che l’input dei dati sia INTERATTIVO.
Requisiti fondamentali per la realizzazione delle funzioni di conversione:
1) non è consentito l’uso della funzione pow o di altre funzioni per
l’elevamento a potenza.
2) la dichiarazione delle funzioni deve rimanere inalterata.
3) la stampa a video del risultato finale deve riportare la posizione delle
cifre seguendo l’ordine MSB…LSB.
Esempio:
dec2bin(4) => 00000000000000000000000000000100
MSB LSB
Ultima modifica di Very Hard : 23-04-2007 alle 21:09.
|