Hvor mange tall kan du representere med 2 byte?


Beste svaret

65536.

Jeg legger merke til at mange svar sier ting som «du kan representere tall fra 0 til 65535 ”, men det er virkelig vilkårlig. Du kan også representere alle tall fra -5 til 65530 eller alle partall fra 2 til 131072, eller alle tall 1, 1/2, 1/3,…, 1/65536. Men spørsmålet er, hvor mange forskjellige tall kan representeres av to byte?

Hvis to byte brukes til å representere tall, betyr det at vi definerer en funksjonskartlegging av 65536 mulige distinkte verdier som de to byte kan ta, til tallene som disse verdiene representerer.

Hvis den funksjonen er injiserende, så er bildet av funksjonen av samme størrelse som domenet, så den vil inneholde 65536 forskjellige tall som kan representeres. Hvis funksjonen er ikke injiserende (flere verdier av de to byte tilordnes til samme nummer), er bildet mindre enn domenet, så et slikt skjema vil representerer færre enn 65536 forskjellige tall.

(Ett praktisk scenario der dette kan skje er hvis en bit brukes som tegnbit: i et slikt tilfelle er det ofte to forskjellige representasjoner av tallet 0, en med skiltbitsettet, og en med skiltbiten klar.)

Svar

En byte er et sett med 8 bits. En bit kan være 1 eller 0. En byte kan være, for eksempel:

11110000

Navnet på tallsystemet er binært. Du kan konvertere et binært tall hvor som helst i et desimal ved hjelp av denne formelen:

fra høyre til venstre:

(første sifferverdi) * 2 ^ 0 + (andre sifferverdi) * 2 ^ 1 + (tredje sifferverdi) * 2 ^ 2 +…

Lengden på en byte er 2 ^ 8 = 256, fra 0 til 255.

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

Maximumverdien er lengden – 1. Så maksverdien er 65535!

Beklager min dårlige engelsk 🙂

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *