Sistema esadecimale?

Ciao a tutti,a scuola stiamo trattando assembly,e ci è capitato di avere a che fare con numeri del tipo 10F ecc. Ma il prof inizialmente ci ha spiegato che il numero massimo in esadecimale è FF(256 in decimale) però 10F in decimale fa 271,potete spiegarmi perché?

3 risposte

Classificazione
  • 10 mesi fa

    Non esiste un massimo assoluto in esadecimale, come non esiste un numero massimo assoluto in decimale.

    FF è il numero massimo ottenibile con 8 bit.

    Ciao

  • Anonimo
    10 mesi fa

    Non è corretto parlare di sistema esadecimale, sebbene questa definizione sia di uso tanto comune che i puristi ci passano sopra. Tutti i "sistemi numerici" derivano da Polinomi numerici. Un Polinomio, ordinato, è una scrittura del tipo:

    P(b) = a0b^n + a1b^(n-1) + ... + a(n-2)b^1 + a(n-1)b^0

    dove "a_i" sono i coefficienti, b la Base e n gli esponenti. Il Polinomio decimale ad esempio, è:

    P(10) = a0*10^n + a1*10^(n-1) + ... + a(n-2)*10^1 + a(n-1)*10^0

    e il numero decimale 123 non è altro che:

    1 * 10^2 + 2 * 10^1 + 3 * 10^0 = 100 + 20 + 3

    Il Polinomio in base 16 ha come coefficienti fattoriali i numeri da 0 a 9 e le lettere (spesso in maiuscolo) A, B, C, D, E, F che indicano i numeri 10, 11, 12, 13, 14, 15, per cui i 16 simboli del sistema in base 16, sono:

    0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Perciò le scritture AF7E, FFFF, 100FFE,..., non sono altro che numeri nel "sistema a base 16", Il primo numero, perciò, corrisponde a;

    P(16) = A*16^3 + F*16^2 + 7*16^1 + E*16^0 = 10 * 4096 + 15 * 256 + 7 * 16 + 15 = 44927(10) in base 10.

  • Nick
    Lv 7
    10 mesi fa

    255 (non 256) in esadecimale si scrive FF, poi si passa a 100 = 256, e così via fino a 10F che è appunto 271.

    Però codifica 256 valori diversi, perchè c'è pure lo 0

    per non fare confusione si scrivono gli esadecimali con un 0x davanti (0xFF, 0x100, 0x10F....)

Altre domande? Fai una domanda e ottieni le risposte che cerchi.