mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hexadezimal - für Dummys


Autor: ABSimon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

zwei Dummy Frage, kann ich anstelle von
    DDRA  = 0xff;
auch
    DDRA  = 11111111;

schreiben? Und ist

    DDRC  = 0x3f;

11001111 oder 00111111.

Mein Hexadezimal Rechner zeigt für 3 "11" an, ich
weiß aber nicht wo jetzt die Null aufgefüllt werden.
Sollen ja jeweil 4 Stellen sein.

Auf sooo0 einfach Fragen finde ich im Forum leider
keine entsprechenden Threads.

Vielen Dank & Viele Grüße
ABSimon

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein kannst du nicht du hast was vergessen ^^

0xFF = 0b11111111 = 255

Also

DDRA = 0xFF;
ist das selbe wie
DDRA = 0b11111111;
oder
DDRA = 255;

Und 0x3F sind 00111111

du kannst das in 4er Blöcke teilen F = 1111 und 3 = 0011 bzw 11 was zum 
rest des Blocks fehlt wird wie bei einer normalen zahl mit ner 0 
ergänzt:

z.b. du willst eine Zahl in der länge 4 Ziffern ohne Komma:

die Zahl 25 wäre somit 0025 ohne das der wert sich ändert.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ ABSimon (Gast)

>zwei Dummy Frage, kann ich anstelle von
>    DDRA  = 0xff;
>auch
>    DDRA  = 11111111;

Nein, wenn dann 0b11111111, das kann aber nicht jeder C-Compiler, der 
AVR-GCC kann es.

>schreiben? Und ist

>    DDRC  = 0x3f;

>11001111 oder 00111111.

0b00111111

>Mein Hexadezimal Rechner zeigt für 3 "11" an, ich
>weiß aber nicht wo jetzt die Null aufgefüllt werden.

Vorn, führende Nullen werden weggelassen.

MFG
Falk

Autor: ABSimon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, Vielen fürs schnelle und tolle Feedback.

Mfg
ABSIMON

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Vorn, führende Nullen werden weggelassen.
Wie in allen anderen bei uns gebräuchlichen Zahlensystemen auch ;-)
Als Beispiel könnte hier das bekannte 10er-System dienen:
vorne angefügte Nullen ändern nichts am Wert.

Allerdings muß man hier beim C-Programmieren etwas aufpassen: Wenn hier 
vorne eine Null angefügt wird, dann bedeutet dies: Oktal-System.
Wenn kein Prefix (in C: 0x..., 0b..., 0...) oder Postfix (z.B. manche 
Assembler ...h oder ...b) angegeben ist, wird automatisch das 
Default-Zahlensystem (das 10er-System) verwendet.


> DDRA  = 11111111;
Das wäre dann (weil 10er-System) das selbe wie
 DDRA  = 0xA98AC7;
und das passt nicht in 1 Byte ;-)

Binär ausgedrückt wäre
> DDRA  = 11111111;
übrigens dann
DDRA  = 0b101010011000101011000111;
Aber das nur der Vollständigkeit halber :-)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Lothar Miller (lkmiller)

>> Vorn, führende Nullen werden weggelassen.
>Wie in allen anderen bei uns gebräuchlichen Zahlensystemen auch ;-)

Sag das mal den Leuten, die das Gerberformat erfunden haben :-0

MFG
Falk

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:
>>> Vorn, führende Nullen werden weggelassen.
>>Wie in allen anderen bei uns gebräuchlichen Zahlensystemen auch ;-)
> Sag das mal den Leuten, die das Gerberformat erfunden haben :-0
Ja, Sachen gibts.

Autor: fgutm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wer's trotzdem versucht wird früher oder später seine Erfahrung mit der 
Oktalkeule machen!

nur kurz:
$ und 0x leiten  hexadezimale Zahlen
(nix)            dezimale Zahlen
führende Nullen  oktale Zahlen
und 0b           binäre Zahlen ein

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.