Forum: Compiler & IDEs MinGW binärdarstellung


von grundschüler (Gast)


Lesenswert?

ich möchte code mit einem font
1
uint8_t const f3x5[]  = {
2
3
0b11100000,
4
0b10100000,
5
0b10100000,
6
0b10100000,
7
0b11100000,//0
8
...
in mingw testen. Fehlermeldung:
t2.cpp:10:1: invalid suffix "b11100000" on integer constant

wie kann man in mingw Daten binär darstellen? Binär deswegen, damit man 
direkt sieht, was der font darstellt.

Beitrag #5102338 wurde von einem Moderator gelöscht.
Beitrag #5102341 wurde von einem Moderator gelöscht.
von A. S. (Gast)


Lesenswert?

Es gibt in C keine binärdarstellung.

Und für einen Font wäre sie ungeeignet.

Mache dir defines wie

#define _X_X_X_X (85)

Mit _ für 0 und X für 1.

Dauert mit Editor 5 Minuten.

Dann "erkennst" Du die Zeichen im Code.

Alternativ schreib Dir einen Konverter.

von Sebastian E. (Gast)


Lesenswert?

Nach kurzem Googlen geht das wohl ab c++14. Der avr-gcc kann die binary 
constants meine ich als Erweiterung. Wahrscheinlich musst du den MinGW 
mit dem richtigen (GNU-)C++-Standard aufrufen.

von eagle user (Gast)


Lesenswert?

Die 0b101010 Schreibweise geht mit einem aktuellen gcc auch in c (ohne 
++), je nach eingestelltem Standard (z.B. mit -std=c11 -pedantic) kommt 
evt. die Warnung
1
init.c:33:19: warning: binary constants are a GCC extension

von Jim M. (turboj)


Lesenswert?

grundschüler schrieb:
> in mingw testen. Fehlermeldung:
> t2.cpp:10:1: invalid suffix "b11100000" on integer constant

Welcher GCC ist das? Aktuell ist für MingW64/MSYS2 der gcc 7.1:
> gcc version 7.1.0 (Rev2, Built by MSYS2 project)

Der kennt die 0b Darstellung für Binary. Ältere GCCs eventuell nicht, 
das war IIRC lange eine AVR-only Erweiterung.

Ich hätte allerdings einfach den Hex Wert hingeschrieben und den 
Binärwert in einen Kommentar daneben gpackt.

von grundschüler (Gast)


Lesenswert?

Jim M. schrieb:
> einfach den Hex Wert hingeschrieben

hab ich inzwischen gemacht. Ich brauch zum testen ja nur wenige Zeichen.

Jim M. schrieb:
> Aktuell ist für MingW64/MSYS2 der gcc 7.1

ich hab das frisch installiert - scheine aber eine veraltete Version 
2.05/2005 erwischt zu haben.


Danke für alle Beiträge.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.