Frage von Gabba112, 69

Begründen Sie welche Zahlen nicht mit den Datentyp Byte gespeichert werden können?

Antwort
von TeeTier, 4

Die Frage ist nicht zu beantworten, da zu viele Informationen fehlen.

  • Reden wir von Bytes mit 5, 6, 8, 9, 12, 16, 24, 32, 64 ... Bit?
  • Reden wir vom Einerkomplement, Zweierkomplement, Signed Magnitude, Basis -2, oder Exzess-Code?
  • Was sollen "Zahlen" denn bitteschön sein? Natürliche, Ganze, Reelle? Reden wir also von Vorzeichenbehafteten, Vorzeichenlosen oder sogar Gleitpunktzahlen (z. B. 1-3-4-Minifloats)?

Wenn wir allein für Punkt 1 nur drei der vielen Möglichkeiten übrig lassen, dann bleiben wohlwollend bei den beiden letzten Punkten ebenfalls jeweils 3 Möglichkeiten übrig (es sind sogar noch mehr!), womit wir alleine damit schon bei 27 verschiedenen richtigen Lösungen landen.

Wollte man die Frage korrekt beantworten, blieben einige hundert Möglichkeiten übrig.

Man kann zwar ahnen, dass eine Interpretation als 8-Bit Zweierkomplement Ganzzahl gemeint sein sollen, aber was ist DAS denn bitte für eine Fragestellung? Kann ich hellsehen? Kann IRGENDJEMAND hellsehen?

In den ganzen RFCs wird zum Beispiel in der Einleitung ein "Byte" nicht ohne Grund genau definiert, weil sonst eine akkurate Implementierung einfach nicht möglich sein wird, wenn jeder das programmiert, was ihm gerade so einfällt. Das gilt für alle mir bekannten technischen Spezifikationen.

Derjenige, der die ursprüngliche Frage verfasst hat, und davor nicht ausdrücklich definiert hat, was man denn nun genau unter "Byte" versteht, sollte sich mal ein Beispiel an der Präzision von Mathematikern nehmen.

Fazit: Die Frage hat extrem viele richtige Antworten. Die alle hier aufzuschreiben würden den verfügbaren Platz sprengen.

Falls man raten soll, könnte dein Lehrer -128 bis +127 oder 0 bis 255 gemeint haben, aber solche Ratespielchen haben überhaupt NICHTS mehr mit wissenschaftlichem Arbeiten zu tun. Die Frage ist tatsächlich also nur mit Raten zu beantworten. Was soll das also?

Definitionen, Formulierungen und allgemein Präzision sollten nicht unterschätzt werden. Ich hoffe, die obige Frage hat niemand formuliert, der sich "Lehrer" oder "Dozent" nennt.

Schönen Abend noch! :)

PS: Genau wegen so einem Murks kommt es zu Sicherheitslücken, Inkompatibilitäten, Missverständnissen, Budget-Engpässen, Planungsproblemen und gar zu gescheiterten Projekten.

Und das wohlgemerkt nicht nur im Legacy-Bereich. Wer obige Kritik als übertrieben empfindet, der hat einfach noch nicht genügend low-level gearbeitet. :)

Anforderungen MÜSSEN präzise sein! Amen! :)

Antwort
von klauszi, 26

1 Byte = 8 Bit.

Ein Bit kann entweder mit 0 oder 1 belegt sein. Somit gibt es 2^8 = 256 mögliche Zahlen, die ein Byte annehmen kann. In Java bspw. werden Sie durch -2^7 = - 128 bis 2^7 - 1 = 127 abgedeckt.

Antwort
von Jewi14, 23

Nö möchte ich nicht, zumal hier nicht das Abitur ist.

Expertenantwort
von Willibergi, Community-Experte für Mathe & Schule, 17

Der Datentyp Byte hat einen Wertbereich von -128 bis +127.

Dementsprechend können nur 256 (ganze!) Zahlen mit diesem Datentyp gespeichert werden.

Bei 500 entsteht beispielsweise ein arithmetischer Überlauf und es wird -12 ausgegeben.

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach.

LG Willibergi

Antwort
von Omnivore10, 2

258 kann ich nicht in ein Byte speichern, weil es ausserhalb der Grenzen liegt (0-255)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten