Ich möchte einem Register einen Wert z.B. 0x00 in 00000000- Schreibweise zuweisen. Welches Zeichen kommt davor statt 0x?? Entschuldigt die Einfachheit der Frage.
Das mag sein. Aber der Zeitdruck zwingt mich die schnellstmöglichen Antworten zu erkämpfen. Trotzdem schönen Dank für die rasche Antwort!
heinz schrieb: > 0b Ist aber kein Standard-C, soweit ich weiß. Von daher stellt sich die Frage ob man es wirklich benutzen sollte.
Mark Brandis schrieb: > Ist aber kein Standard-C, soweit ich weiß. Von daher stellt sich die > Frage ob man es wirklich benutzen sollte. Ja, sollte man, wenn man GCC benutzt (zumindest, wenn es an der Stelle die Lesbarkeit erhöht). Was ist denn wichtiger, dass der Code möglichst lesbar ist, oder dass er auf allen möglichen Compiler funktioniert, obwohl man zu 99% der Fälle sowieso nur den einen benutzt? ;-)
wird die Binäre schreibweise eines wertes nicht von alles comilern unterstützt? wie wird ein wert dort in Binärer Form geschrieben oder gibts das in solchen Fällen garnicht?
Im Standard-C musst du die Konstante dann in Hex mit 0x schreiben. Was ja auch eigentlich nicht so schlimm ist, da man an Hex-Zahlen auch relativ leicht die binäre Repräsentation erkennen kann.
Du musst gar nicht, du kannst es aber in Hexadezimal-, Dezimal- oder Oktalschreibweise angeben.
Christian L. schrieb: > wird die Binäre schreibweise eines wertes nicht von alles comilern > unterstützt? > wie wird ein wert dort in Binärer Form geschrieben oder gibts das in > solchen Fällen garnicht? An binärer Schreibweise ist ausserhalb der µC Sezene kaum jemand interessiert. Und selbst innerhalb der Szene ist die binäre Schreibweise meistens zu Recht umstritten. Man braucht sie meistens eigentlich nicht, bzw. für fast alle vermeintlichen Einsatzfälle gibt es bessere Varianten. Und die paar Fälle, die dann noch übrig bleiben, kann man ganz einfach mit der Hex-Schreibweise erschlagen. Ein gestandener µC-Programmierer kann sowieso das Bitmuster einer Hex-Zahl ohne Nachdenken runterrasseln, Das ist ja gerade das Schöne an Hex, dass es eine kompakte Schreibweise für Binärzahlen darstellt, wobei das eine aus dem anderen leicht ableitbar (ohne Rechnen zu müssen) ist.
Karl heinz Buchegger schrieb: > Und selbst innerhalb der Szene ist die binäre Schreibweise > meistens zu Recht umstritten. Ja, ich gebe zu die Binär-Schreibweise verleitet (gerade auf bei Anfängern) dazu, sie an stellen einzusetzen, wo sie die Lesbarkeit massiv verschlechtern. Auf der anderen Seite finde ich sie aber ganz nützlich. Beispiel: Wenn ich eine Zeichentabelle für eine 7-Segmentanzeige anlege, finde ich es ganz praktisch, da man alle Bits direkt setzen kann. Ansonsten müsse man sich erstmal 4 Bit überlegen um dann erst das Hexzeichen hinzuschreiben.
Für Bitmuster ist die 0b-Schreibweise ganz schön. Aber während man bei 0xC0 leicht und zuverlässig erkennt, dass die obersten 2 Bits eines Bytes gesetzt sind, ist es schwieriger zu erkennen, dass das bei 0b110000000 nicht der Fall ist.
Klaus schrieb: > Karl heinz Buchegger schrieb: >> Und selbst innerhalb der Szene ist die binäre Schreibweise >> meistens zu Recht umstritten. > > Ja, ich gebe zu die Binär-Schreibweise verleitet (gerade auf bei > Anfängern) dazu, sie an stellen einzusetzen, wo sie die Lesbarkeit > massiv verschlechtern. Auf der anderen Seite finde ich sie aber ganz > nützlich. > > Beispiel: Wenn ich eine Zeichentabelle für eine 7-Segmentanzeige anlege, > finde ich es ganz praktisch, da man alle Bits direkt setzen kann. > Ansonsten müsse man sich erstmal 4 Bit überlegen um dann erst das > Hexzeichen hinzuschreiben. Auch hier gibt es eine (meiner Meinung nach) bessere Alternative: Schiebeoperator und fertige Defines welche LEDs der 7 Segmentanzeige auf welchen Bits liegen. Dann kann man einfach sowas machen wie
1 | uint8_t CharTable[] = |
2 | { //0 |
3 | (1<<SEG_A) | (1<<SEG_B) | ... , |
4 | },
|
5 | ...
|
Das Blöde bei den binären Konstanten ist das lästige Abgezähle mit Finger am Monitor, welches Bit jetzt gesetzt ist. Das kann man, wie mein Vorposter schon sagt nicht auf Anhieb ablesen.
Simon K. schrieb: > Dann kann man einfach sowas machen wie Ja, das ist auch ne schöne Sache. Dann hat man die eigentliche Zeichentabelle auch noch komplett von der Pinbelegung getrennt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.