Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Formatstring für Hexausgabe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.06.2012, 21:01 Uhr
Hans
Library Walker
(Operator)


Hi,

folgendes Phämomen (C-99):
Bei diesem Programmtext:

C++:
long long Z;
...
printf ("%LLx", Z);


liefert mir das Programm lediglich die unteren 32Bits von Z. Wenn ich dagegen "ll", also klein im Formatstring schreibe, liefert es alle 16 Hexstellen. Ist das normal?
Compiler ist gcc 4.6.2

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.06.2012, 10:10 Uhr
Tommix



'Morgen,
Visual C++ verhält sich genauso. Im MSDN taucht "LL" in Großbuchstaben als Prefix aber gar nicht auf (undefiniertes Verhalten?).

http://msdn.microsoft.com/de-de/library/tcxf1dw6.aspx

Gruß, Tommix


Bearbeitung:

...wobei der Compiler C99 auch nicht unterstützt, fällt mir jetzt hinterher ein.


Dieser Post wurde am 03.06.2012 um 10:23 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.06.2012, 14:24 Uhr
~f.-th.
Gast


Microsoft und C99 - gar nicht unterstützt stimmt nicht ganz - ignoriert trifft es eher.
Es gibt da in einem M$ nahen Forum eine Seite wo drin steht, was von C99 rein zufällig in VS unterstützt wird.
Müsste ich auch wieder suchen.

Aber scheinbar hat M$ oder der Firma nahestehende Personen an C11 mitgewirkt. Denn einige M$ C-Spezialitäten wurden in den C11 Standard aufgenommen.

MfG f.-th.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.06.2012, 21:32 Uhr
Hans
Library Walker
(Operator)


Hi,

@Tommix: Nö, eigentlich nicht. Im Standard-Dokument (ISO/IEC 9899:TC3 Committee Draft — Septermber 7, 2007 WG14/N1256) steht im Kapitel 6.4.4.1 jedenfalls drin, dass beides möglich ist.

5 Min. später...
Jetzt noch nach einem aktuellerem Standards Draft gesucht, und das hier gefunden. Da steht es ebenfalls drin. - Also scheint es wahrscheinlich noch nicht in allen Compilern umgesetzt zu sein.

Trotzdem ist das ein merkwürdiges Verhalten — oder ein besonderes feature: Schreibe 'LL', wenn Du nur das untere Quadword willst; aber schreibe 'll', wenn Du alle 64 Bits brauchst...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 03.06.2012 um 21:34 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.06.2012, 07:39 Uhr
Tommix



'Morgen,
nein, schau mal in dem zitierten Dokument in §7.21.6.1 (Seite 311). "LL" ist als Suffix hinter der Zahl möglich (x = 1LL;), nicht beim formatieren.

Gruß, Tommix

Dieser Post wurde am 04.06.2012 um 07:40 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.06.2012, 16:10 Uhr
Hans
Library Walker
(Operator)


Interessant...
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.06.2012, 21:00 Uhr
~f.-th.
Gast


Seite 312: ein L (groß) ist bei einigen Formaten, so wie ich es lese, doch möglich. Aber nicht als "%Lx" sondern als "%Lf" oder ähnlichen.

Ihr habt das ja schon, aber vielleicht wundert sich ja der eine oder andere:
Die Seitenzahl bezieht sich auf den Draft und nicht auf die Angabe des PDF-Viewers. Der steht bei mir auf Seite 330

MfG f.-th.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: