promotion image of download ymail app
Promoted

Perché il più grande intero a 16 bit corrisponde a (2^15)-1 e non a 2^15?

4 risposte

Classificazione
  • 2 mesi fa
    Risposta preferita

    Perché c'è lo zero.

    Dividi a metà 2^16 valori, quindi ne hai 2^15 di non negativi e 2^15 di negativi e togli uno dai non negativi perché c'è lo 0. Questo nel caso del complemento a due.

    Esempio a due bit, due bit possono rappresentare 4 valori, quindi da 0 a 3 nel caso di interi senza segno. 

    E da -2 a 1 in caso di interi con il segno in complemento a due (come in Java per esempio)

    00 = 0

    01 = 1

    10 = -2

    11 = -1

    Quindi da -2^1 a 2^1-1

    Ma in altri casi, tipo primo bit segno, il resto valore, hai valori diversi. Sempre per due bit

    00 = 0

    01 = 1

    10 = -0

    11 = -1

    Quindi in questo caso da -2^1-1 a +2^2-1

    • Commenter avatarAccedi per rispondere alle risposte
  • 2 mesi fa

    La risposta è semplice: perché viene considerato anche il numero 0, che si trova in mezzo ai numeri negativi e positivi, tra quelli positivi.

    Questa regola viene definita nel completamento a due

    https://it.m.wikipedia.org/wiki/Complemento_a_due

    • Commenter avatarAccedi per rispondere alle risposte
  • KONAN
    Lv 4
    2 mesi fa

    Viene considerato anche lo 0. Per questo motivo se vuoi codificare in binario 2^15 escluso lo 0 ti servono 17 bit

    ad esempio se ti dico 2^10 con 10 bit codifichi da 0 a 1023 appunto perchè il range arriva sino a (2^10) -1

    • Commenter avatarAccedi per rispondere alle risposte
  • 2 mesi fa

    infatti non è così.

    corrisponde a 2^16 -1

    • nicoladc89
      Lv 7
      2 mesi faSegnala

      Gli interi sono sia numeri positivi che negativi, quindi il range è tra -2^15 a +2^15-1

    • Commenter avatarAccedi per rispondere alle risposte
Altre domande? Fai una domanda e ottieni le risposte che cerchi.