Hvor mange tal kan du repræsentere med 2 byte?


Bedste svar

65536.

Jeg bemærker, at mange svar siger ting som “du kan repræsentere numre fra 0 til 65535 ”, men det er virkelig vilkårligt. Du kan også repræsentere alle tal fra -5 til 65530 eller alle lige tal fra 2 til 131072 eller alle numre 1, 1/2, 1/3,…, 1/65536. Men spørgsmålet er, hvor mange forskellige tal kan repræsenteres af to byte?

Hvis der bruges to byte til at repræsentere tal, betyder det, at vi definerer en funktionskortlægning af 65536 mulige forskellige værdier, som disse to byte kan tage, til de tal, som disse værdier repræsenterer.

Hvis denne funktion er injektionsdygtig, så er billedet af funktionen af ​​samme størrelse som dens domæne, så den vil indeholde 65536 forskellige tal, der kan repræsenteres. Hvis funktionen er ikke injektiv (flere værdier for de to byte kortlægges til det samme nummer), så er dets billede mindre end dets domæne, så en sådan ordning vil repræsenterer færre end 65536 forskellige tal.

(Et praktisk scenarie, hvor dette kan ske, er, hvis en bit bruges som tegnbit: i et sådant tilfælde er der ofte to forskellige repræsentationer af tallet 0, en med tegnbit-sæt og en med tegnbit klar.)

Svar

En byte er et sæt på 8 bits. En bit kan være 1 eller 0. En byte kan pr. Eksempel være:

11110000

Navnet på talesystemet er binært. Du kan konvertere et vilkårligt binært tal i et decimal ved hjælp af denne formel:

fra højre til venstre:

(første cifferværdi) * 2 ^ 0 + (andencifret værdi) * 2 ^ 1 + (tredje cifret værdi) * 2 ^ 2 +…

Længden af ​​en byte er 2 ^ 8 = 256, fra 0 til 255.

Men, 2 byte ikke er 512, fordi konverteringen inkluderer flere cifre. For 2 byte har vi 2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536

Den maksimale værdi er længden – 1. Så den maksimale værdi er 65535!

Undskyld for mit dårlige engelsk 🙂

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *