View Full Version : Numero esadecimale a decimale: come?
mi sapete dire come si fa a trasformare un numero esadecimale in un numero decimale?
ciao ;)
Dipende da cosa devi fare.
Se devi fare delle conversioni al volo le fai a mente, almeno per numeri bassi (due cifre esadecimali), moltiplicando la cifra piu' significativa per 16 e sommando il risultato alla cifra meno significativa. Ricordando che le lettere da A a F corrispondono ai numeri da 10 a 15.
Inoltre se ti interessano solo numeri a 2 cifre dopo un po' li conosci a memoria.
Se devi fare una conversione automatica (che so, computer) si fa come qualunque conversione verso base 10. Si moltiplica la cifra meno significativa per 16^0, la seconda per 16^1, la terza per 16^2, ecc. e si sommano i risultati.
Se devi convertire a mente numeri piu' grossi (diciamo fino a 4 cifre), puoi convertire due gruppi di due cifre come sopra e poi, prima di sommare, moltiplicare il gruppo piu' significativo per 256. Posto che ti venga abbastanza automatico fare a mente una moltiplicazione per 256. Non e' difficile, perche' moltiplichi per 250 e per 6 e sommi i risultati, ma puo' non essere immediato.
Swisström
07-09-2005, 19:53
si fa Hex$(number) :O
txfw puo fare un esempio? nn ho capito cosa sono i numeri piu significativi :help:
Nel numero 1234, il 4 e' il numero meno significativo (vale 4), mentre l'1 e' il numero piu' significativo (vale 1000).
In generale, parlando di numeri, il meno significativo e' quello piu' a destra.
Nel numero esadecimale 5B, B e' la cifra meno significativa e vale 11 (A=10, B=11, ecc.).
5 e' la cifra piu' significativa e vale 5 x 16 = 80.
Quindi 5B vale 5 x 16 + 11 = 91.
Swisström
07-09-2005, 21:27
Nel numero 1234, il 4 e' il numero meno significativo (vale 4), mentre l'1 e' il numero piu' significativo (vale 1000).
In generale, parlando di numeri, il meno significativo e' quello piu' a destra.
Nel numero esadecimale 5B, B e' la cifra meno significativa e vale 11 (A=10, B=11, ecc.).
5 e' la cifra piu' significativa e vale 5 x 16 = 80.
Quindi 5B vale 5 x 16 + 11 = 91.
giusto :O
che balle sti esadecimali....
JL_Picard
07-09-2005, 22:21
mi sapete dire come si fa a trasformare un numero esadecimale in un numero decimale?
ciao ;)
Se devi convertire pochi numeri, basta pure la calcolatrice di Windows (in versione scientifica).
Converte tra loro esadecimali, ottali, binari e decimali...
considera numeri come per esempio: FA1008
no il tutto li devo fare a mente al max su un pezzo di carta: senza calcolatrice
considera numeri come per esempio: FA1008
no il tutto li devo fare a mente al max su un pezzo di carta: senza calcolatriceAllora su un pezzo di carta dividi il numero di 6 cifre in 3 blocchi di 2 cifre, che sono facili.
FA 10 08.
FA vale 240+10=250
10 vale evidentemente 16.
08 vale.... 8
Poi moltiplichi 16x256=16x250+16*6=4000+96=4096
Poi moltiplichi 250x65536 (arrangiati.... :) )
Poi sommi i risultati ottenuti (8+4096+blabla=blablabla)
Per fare i conti su un pezzo di carta questo e' il modo piu' facile.
Devi sempre semplificarti la vita con le scorciatoie e la proprieta' distributiva.
Per esempio, per fare la moltiplicazione per 250 puo' essere piu' facile dividere per 4 e aggiungere 3 zeri. 65536 e' una potenza di 2, quindi dividere per 4 e' facile e non da' resto.
Per moltiplicare per 256 ho gia' accennato a moltiplicare per (250+6).
Dovessi moltiplicare per 18 potresti moltiplicare per 20 (ovvero per 2 e aggiungere uno zero) e poi togliere un decimo del risultato.
Sembrano menate, ma moltiplicare 18x16 a mente puo' sembrare complicato.
20x16 lo sai fare e fa 320, poi togli 32.
Allora su un pezzo di carta dividi il numero di 6 cifre in 3 blocchi di 2 cifre, che sono facili.
FA 10 08.
FA vale 240+10=250
10 vale evidentemente 16.
08 vale.... 8
mi sono bloccato qui :D
allora se divido in blocchi di due cifre, la cifra più significativa vale 16, giusto? come abbiamo visto della seconda (10 vale evidentemente 16); se però eravamo di fronte a due cifre come, 27, come si doveva fare? (=2*16+7)?
il resto "Poi moltiplichi 16x256=16x250+16*6=4000+96=4096
Poi moltiplichi 250x65536 (arrangiati.... )
Poi sommi i risultati ottenuti (8+4096+blabla=blablabla)
"
non l'ho capito
duchetto
08-09-2005, 13:05
calcolatrice di windows modalità scientifica
mi sono bloccato qui :D
allora se divido in blocchi di due cifre, la cifra più significativa vale 16, giusto?
Giusto.
come abbiamo visto della seconda (10 vale evidentemente 16); se però eravamo di fronte a due cifre come, 27, come si doveva fare? (=2*16+7)?
Esatto.
il resto "Poi moltiplichi 16x256=16x250+16*6=4000+96=4096
Poi moltiplichi 250x65536 (arrangiati.... )
Poi sommi i risultati ottenuti (8+4096+blabla=blablabla)
"
non l'ho capito
Ok, non era immediato.
Abbiamo trattato i tre blocchi di due cifre a se', come cifre isolate.
Considera il caso in decimale.
Dividiamo il numero decimale 1234 in due blocchi di 2 cifre.
Perche' non lo so, ma mi serve come esempio.
12 34.
Il primo blocco e' 12, ma in realta' va moltiplicato per 100 (10^2) per saperne il valore.
In qualunque base e' lo stesso, quindi in base 16 il numero FA1008 diviso in tre blocchi di due cifre:
FA 10 08
ha il blocco meno significativo (08) che mantiene il valore nominale.
Il secondo blocco (10, in decimale 16) che va moltiplicato per 16^2 (256) e il terzo blocco (FA, in decimale 250) che va moltiplicato per 16^4 (65536).
Quindi divido in blocchi di due cifre per semplificare la conversione da esadecimale a decimale, ma poi devo tener conto del fatto che la cifra meno significativa di ogni blocco non pesa 1, bensi' 256, 65536, ecc.
"ecc." in realta' non dovrebbe esistere, perche' se la richiesta e' fare il conto a mente o al massimo su un pezzo di carta gia' 6 cifre esadecimali mi sembrano troppe.
Il suggerimento del passaggio al binario e' ottimo se sei pratico di numerazione binaria, ma penso che se avessi questa pratica non avresti fatto la domanda. Se l'assunzione e' sbagliata, chiedo scusa.
Io farei 17^2 - 1 ;)
idem 25*35, faccio 30^2 - 25 Mooolto più comodo
Piuttosto che piu' comodo lo definirei molto elegante.
Personalmente non ricordo a memoria i quadrati (ok, il quadrato di 30 riesco a farlo), quindi preferisco ridurre un prodotto a somma di prodotti facili.
Ognuno sceglie e sviluppa il metodo con cui si trova meglio.
Se riesci bene con i prodotti notevoli, complimenti.
(a+b)x(a-b) si applica bene se la differenza e' pari. Se e' dispari gia' devi inventarti qualcosa di diverso (magari la fai diventare pari e alla fine aggiungi o togli il fattore che non hai cambiato).
Occhio che non e' una critica. Come dicevo ognuno sceglie il suo metodo, che magari per altri non va bene. Avere un metodo e' COMUNQUE meglio che affidarsi ogni volta a una calcolatrice (cosi' se devi fare 18x16+1 fai prima la moltiplicazione e poi prima di leggere il risultato sommi 1 con la tastiera, perche' la mente non la usi piu').
credo che però il metodo base sia questo: per esempio FC1008->
8*16^0 +
0*16^1 +
0*16^2 +
1*16^3 +
12*16^4 +
15*16^5 =
16519176
anche se non so come lo si faccia a mente
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.