www.mikrocontroller.net

Forum: PC-Programmierung 8 bytes variable uint64_t


Autor: Carolin Zapa (seobalis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich will eine 64 bit variable ausgeben. Aber die Ausgabe ist nicht sowie 
ich gedacht habe. Könnt ihr mir erklären wieso es  so ist?
#include  "stdio.h"
#include  "stdlib.h"
#include  "stdint.h"

int main(){
    
  uint64_t      test_64_bit;
  char        *ptr;
  int          i;
  ptr = (char*)&test_64_bit;
  for(i=0;i<sizeof(uint64_t);i++){
    ptr[i] = i;
  }
  printf("sizeof(test_64_bit): %d\n\n",sizeof(test_64_bit));// ergebnis = 8 
  printf("test_64_bit: 0x %02x\n",test_64_bit);
  //hier gibt printf aus test_64_bit = 0x 3020100 nicht 0x 706050403020100
  // wie ich dachte
}

ich bedanke mich schon mal für euere Hilfe.
Grüße,
Carolin

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

Bewertung
0 lesenswert
nicht lesenswert
%s ist der falschen Format Spezfier für uint64_t.
Da gibt es vordefinierte Konstanten. Ich weiß sie aber leider nicht
auswändig.

Autor: Carolin Zapa (seobalis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> %s ist der falschen Format Spezfier für uint64_t.
> Da gibt es vordefinierte Konstanten. Ich weiß sie aber leider nicht
> auswändig.

du meinst %x?

Grüße,

Carolin

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
%x ist der Formatspezifierer für unsigned int.

Der für uint64_t ist in /inttypes.h/ als PRIx64 definiert.

Gebrauch:
uint64_t i;

printf("i =%" PRIx64 "\n", i);

Autor: Carolin Zapa (seobalis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly schrieb:
> %x ist der Formatspezifierer für unsigned int.
>
> Der für uint64_t ist in /inttypes.h/ als PRIx64 definiert.
>
> Gebrauch:
>
> uint64_t i;
> 
> printf("i =%" PRIx64 "\n", i);
> 

Ah ok. Danke!

Grüße,
Carolin

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.