Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Traduzione in esadecimale

    Devo tradurre una stringa in esadecimale, ma ho vaghe reminiscenze di come si debba fare (parliamo delle superiori ).
    Ho provato a cercare su internet, ma non riesco a trovarlo... qualcuno può linkarmi un sito dove lo spiega o un programma che lo traduce?
    Oppure mi basta anche un esempio pratico.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    E in che linguaggio?
    Ricorda che va specificato anche nel titolo.
    Oppure ti interessa il procedimento matematico per al conversione dei numeri da base 10 a base 16?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Mi basta il procedimento matematico... la stringa ce l'ho su carta, devo soltanto sapere il codice esadecimale

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Devi procedere in questo modo: ciascun carattere ha un "peso" che è dato dal suo codice ASCII (la tabella la trovi su internet ovunque).

    Prendi ciascun peso e lo converti in esadecimale.

    La conversione di base (da base 10 a base x) ha sempre lo stesso procedimento:
    Prendi il numero e lo dividi ripetutamente per la base a cui lo vuoi convertire, tenendo da conto il resto di tale divisione (N.B.: Il resto sarà sempre minore in senso stretto del valore della base di conversione).
    Ora non ti resta che prendere il simbolo relativo al resto trovato. (*)
    Procedi quindi alle successive divisioni, finchè il quoziente non diventa 0.

    Il valore nella nuova base sarà dato dalla sequenza dei resti presa al contrario.


    (*) Parlo di simbolo perchè nella base 16, oltre alle 10 cifre numeriche hai anche 6 simboli alfanumerici: A,B,C,D,E e F. Al simbolo A viene associato il valore 10, alla B il valore 11, ecc.


    Un esempio pratico:
    codice:
    127 --> da convertire in esadecimale
    
    127 / 16 = 7 con resto 15  --> simbolo relativo a 15 --> F
    7 / 16 = 0 con resto 7     --> simbolo relativo a 7  --> 7
    Ho finito perchè ho ottenuto 0 nella divisione.
    
    127 in base 16 --> 7F
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    :master: Da come l'hai posto, l'esempio dei numeri è chiaro e l'ho capito...
    Ma cosa succede se avessi delle lettere? Per esempio la parola "casa".

    Qui ho trovato una tabella che confronta decimali, binari e esadecimali,
    http://www.tkk.it/var/alfabeto/ascii.html
    ma come s'incrociano le due righe (in alto e a sinistra?)

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Effettivamente hai trovato una delle pochissime tabelle in cui la consultazione va fatta con un po' d'occhio matematico...

    Prova con questa.

    Per il resto, non ti rimane che prendere lettera per lettera la parola "casa" e convertire il relativo valore esadecimale (suggerimento: nella tabella che ti ho linkato, questo lavoro è già stato fatto!)


    Per quanto riguarda quella tabella, per calcolare il peso del carattere devi prendere il valore riportato sulla colonna e sommarci quello riportato sulla riga.

    Esempio: la lettera A è sulla colonna con valore 64 e sulla riga con valore 1. Valore della lettera A --> 64 + 1 = 65


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Grazie, una spiegazione perfetta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.