www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C30 quadWord


Autor: Andy L. (nemai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bekomme es nicht hin, im C30 Compiler ne quadWord Variable zu 
benutzen.
int main(void){
  unsigned long long test = 0xFFFFFFFFFFFFFFFF;

Darauf sagt mir der Compiler:

vfd.c: In function 'main':
vfd.c:22: warning: integer constant is too large for 'long' type
(Zeilen entsprechen dem Code.)

Die limits.h bei den Includes des Compilers sagt aber z.B.
/* long properties */
#define LONG_MAX   0x7fffffff
#define LONG_MIN   (-LONG_MAX -1)
#define ULONG_MAX  0xffffffffU

/* long long properties */
#define LLONG_MAX  0x7fffffffffffffffLL
#define LLONG_MIN  (-LLONG_MAX -1)
#define ULLONG_MAX 0xffffffffffffffffUL

Hat mir jemand einen Tipp, wie man das zum Laufen bringen kann?
Ich brauche so große Variablen um Seriennummern zu speichern. Natürlich 
könnte man das auch splitten, aber mit quadWords wäre es 
übersichtlicher.

Mfg, nEmai

Autor: Michael H. (morph1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich finde RTFM so einen dummen Spruch, aber in dem Falle stehts wirklich 
drinnen.


The compiler supports data types for integers that are twice as long as 
long int.
Simply write long long int for a signed integer, or unsigned long long 
int
for an unsigned integer. To make an integer constant of type long long 
int, add the
suffix LL to the integer. To make an integer constant of type unsigned 
long long
int, add the suffix ULL to the integer.

unsigned long long int test = 0xFFFFFFFFFFFFFFFFULL;

Autor: Andy L. (nemai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, wenn
unsigned short x = //...
und
unsigned long y = //...
funktionieren, finde ich den Gedanken nicht arg naheliegend, überhaupt 
nach einer solchen Möglichkeit zu suchen.

Trotzdem Danke für die schnelle Hilfe =)

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.