mikrocontroller.net

Forum: Compiler & IDEs SUPERDILETTANTISCH aber wichtig


Autor: Stephan R (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0b

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Supperdilettantisch ist es nur, dass AVR-Gcc Tutorial nicht zu lesen.

Autor: Stephan R (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mag sein. Aber der Zeitdruck zwingt mich die schnellstmöglichen 
Antworten zu erkämpfen.

Trotzdem schönen Dank für die rasche Antwort!

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
heinz schrieb:
> 0b

Ist aber kein Standard-C, soweit ich weiß. Von daher stellt sich die 
Frage ob man es wirklich benutzen sollte.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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? ;-)

Autor: Chris L. (kingkernel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas K. (muetze1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst gar nicht, du kannst es aber in Hexadezimal-, Dezimal- oder 
Oktalschreibweise angeben.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas K. schrieb:
> Du musst gar nicht, du kannst es aber

Ja, natürlich :-)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
uint8_t CharTable[] = 
{ //0
    (1<<SEG_A) | (1<<SEG_B) | ... ,
},
...


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.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.