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?
Soll ein Trennzeichen sein, aber was bedeutet das Trennzeichen
4 Antworten
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
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! :)
![](https://images.gutefrage.net/media/user/Volens/1444748690_nmmslarge.jpg?v=1444748690000)
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.
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Es dient nur der leichteren Lesbarkeit
So wie man im Dezimalsystem zB. 1000 auch so schreibt: 1.000
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
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?! -.-
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
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.
Ne wurde sie nicht, da steht, dass es ein Trennzeichen sei, aber ein Trennzeichen für was?