Was hat dieser Unterstrich im Binärsystem, zu bedeuteten, also z. B. 0b1001_0110, was bedeutet dieses _ zwischen 1 und 0? Habe es in Java gesehen?

4 Antworten

Einige Sprachen unterstützen spezielle Zeichen zum Unterteilen von Literalen.

Mit 0b0101_1100 teilt man einfach nur die 8 Bit des Oktetts in zwei Nibble auf. Das dient ausschließlich der Übersichtlichkeit für die Entwicker und wird vom Compiler genauso übersetzt, als würdest du den Unterstrich weglassen.

Im Deutschen trennt man ja auch Tausender, Millionen, etc. mit einem Komma, einfach zur besseren Lesbarkeit: 12,345,678

So sieht man auf einen Blick, dass es sich um etwas über 12 Mio. handelt.

Und bei 0b1101_0100 sieht man zwei Nibble und weiß sofort, dass es ein ganzes Oktett ist.

Wenn du nur 0b1010100 schreibst, fällt oft auf den ersten Blick gar nicht auf, dass es "nur" sieben Bit sind, und eines evtl. fehlt.

Von dahler: Ellenlange numerische Literale einfach ab und zu mal unterteilen. Das liest sich auf Dauer viel besser! :)

Woher ich das weiß:Studium / Ausbildung

Als Programmierer alter Schule würde ich es als 1 Byte verstehen. Das rechte Halbbyte 0110 ist eine dezimale 6. Das linke Halbbyte enthält die Zone, die dafür zuständig ist, ob man einen Buchstaben. eine Zahl oder ein Sonderzeichen darstellen möchte.

Das ganze Byte verfügt über 256 Veriationen der Zeichen.
Kurzschreibweise für dieses Byte (hexadezimal):
96

Mit F6 kenne ich es als die Zahl 6.
Das ist keine Binärdarstellung im eigentlichen Sinne, sondern eine Verschlüsselung, die aus der Zeit der ersten Computer stammt.

Es dient nur der leichteren Lesbarkeit

So wie man im Dezimalsystem zB. 1000 auch so schreibt: 1.000

Exakt diese Frage hast du doch schon um 04:12:32 heute morgen gestellt UND sie wurde dir bereits beantwortet.

Was soll jetzt also diese Doppelfragenspammerei?! -.-


woqjoiqwd2 
Beitragsersteller
 10.10.2021, 15:12

Ne wurde sie nicht, da steht, dass es ein Trennzeichen sei, aber ein Trennzeichen für was?

0
Zahhak  10.10.2021, 15:14
@woqjoiqwd2

Genau das wurde um 06:31:17 beantwortet.

Also nochmal: Was soll die Spammerei?

0
PeterKremsner  10.10.2021, 15:16
@woqjoiqwd2

Ja es ist auch ein Trennzeichen.

10010110 ist schwerer lesbar als 1001_0110 besonders bei langen Binärzahlen wirds dann schnell schwer lesbar. Java ist es aber egal ob du die erste oder zweite Variante schreibst das _ dient nur der Lesbarkeit und wird vom Compiler ignoriert.

Speziell trennt man hier die sogenannten Nibbles. Also 4 Binärstellen bilden ein Nibble und es hat sich in der Schreibweise eingebürgtert die Nibble zu trennen um es leichter lesbar zu machen.

Diese Schreibweise in Nibbles macht dann auch die Umwandlung ins Hexadezimalformat leichter weil ein Nibble genau einer Hex Ziffer entspricht.

0