Wie viele Zahlen können Sie mit 2 Bytes darstellen?


Beste Antwort

65536.

Ich stelle fest, dass viele Antworten Dinge wie „Sie können darstellen Zahlen von 0 bis 65535 ”, aber das ist wirklich willkürlich. Sie können auch alle Zahlen von -5 bis 65530 oder alle geraden Zahlen von 2 bis 131072 oder alle Zahlen 1, 1/2, 1/3,…, 1/65536 darstellen. Die Frage ist jedoch, wie viele unterschiedliche Zahlen durch zwei Bytes dargestellt werden können.

Wenn zwei Bytes zur Darstellung von Zahlen verwendet werden, bedeutet dies, dass wir eine Funktion definieren, die die 65536 möglichen unterschiedlichen Werte, die diese beiden Bytes annehmen können, auf die Zahlen abbildet, die diese Werte darstellen.

If Diese Funktion ist injektiv, dann hat das Bild der Funktion die gleiche Größe wie ihre Domäne, sodass es 65536 verschiedene Zahlen enthält, die dargestellt werden können. Wenn die Funktion nicht injektiv ist (mehrere Werte der zwei Bytes werden derselben Nummer zugeordnet), ist ihr Bild kleiner als ihre Domäne, sodass ein solches Schema dies tut stellen weniger als 65536 verschiedene Zahlen dar.

(Ein praktisches Szenario, in dem dies passieren kann, ist die Verwendung eines Bits als Vorzeichenbit: In einem solchen Fall gibt es häufig zwei verschiedene Darstellungen der Zahl 0, eine mit gesetztem Vorzeichenbit und eine mit klarem Vorzeichenbit.)

Antwort

Ein Byte ist eine Menge von 8 Bits. Ein Bit kann 1 oder 0 sein. Ein Byte kann beispielsweise sein:

11110000

Der Name des Zahlensystems ist binär. Mit dieser Formel können Sie eine beliebige Binärzahl in eine Dezimalzahl konvertieren:

von rechts nach links:

(Wert der ersten Ziffer) * 2 ^ 0 + (Wert der zweiten Ziffer) * 2 ^ 1 + (dritter Ziffernwert) * 2 ^ 2 +…

Die Länge eines Bytes beträgt 2 ^ 8 = 256 von 0 bis 255.

Aber 2 Bytes sind nicht 512, da die Konvertierung mehr Ziffern enthält. Für 2 Bytes haben wir 2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536

Der Maximalwert ist die Länge – 1. Der Maximalwert ist also 65535!

Entschuldigung für mein schlechtes Englisch 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.