-         

Ergebnis 1 bis 7 von 7

Thema: Fehlermeldung bei Division

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    235

    Fehlermeldung bei Division

    Anzeige

    Hallo,

    wieso erhalte ich beim Kompilieren eine Fehlermeldung bei "ZLängeM3 = ZLängeM2 / 2.5;" aber nicht bei "g2 = g1 / 2.5;"
    Die Meldung ist: error: stray '\303' in program


    Code:
    int g1 = 20;
    float g2 = 0;
    
    int ZLängeM2 = 20;           // gewünschte Zahnstangenausfahrlänge von M2 in mm
    float ZLängeM3 = 0;  // für die Berechnung des Maximalfahrweges von M3
    
    void setup() {
     
    }
    
    void loop() {
     
    g2 = g1 / 2.5;
    
    ZLängeM3 = ZLängeM2 / 2.5;
    
    }
    vG

    fredyxx

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Schreib Laenge statt Länge. Ä ist kein ASCII-Zeichen, der Compiler kann damit nicht umgehen.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    235
    Danke danke

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.445
    "ä" und "Ä" sind zwar schon ASCII Zeichen, aber keine 7 Bit sondern 8 Bit ASCII Zeichen und somit Sonderzeichen.
    Bei Bezeichnern hält man sich am besten an Kleinbuchstaben, Großbuchstaben und Ziffern ohne Umlaute (ä, ö, ü, ß).
    Viele Compiler akzeptieren noch Unterstriche und Minus, aber sicherer ist man ohne.
    ASCII Zeichentabelle ohne Steuerzeichen
    http://www.pctipp.ch/typo3temp/pics/d66c597f27.jpg

    ASCII Steuerzeichen für TELEX
    https://web4.wzw.tum.de/dvs/edvgw/asciist.gif

    7-Bit UASCII Zeichentabelle
    http://openbook.rheinwerk-verlag.de/...der/04_001.png

    Bitcodes
    5-Bit CCITT-1: (ITA1) 5 Bit für Zeichen plus 2 Bit vorangestellt für Steuerzeichen

    5-Bit CCITT-2: (TELEX Code) 5 Bit für Zeichen plus 2 Bit vorangestellt für Steuerzeichen. Un der UDSSR zum 3+5 Bit MTK-2 erweitert.

    Diese 5-Bit Codes sind auch der Grund warum bei Lochstreifen die Transportlochung nicht in der Mitte der 8 Löcher ist, sondern 3+5 ist.

    7-Bit ASCII: aus CCITT-2" hervorgegangen.

    8-Bit EBCDIC: IBM Lockarten und Computer Code (entstanden aus dem 4-Bit BCD Code -> E-BCD-IC)

    8-Bit ASCII: Erweiterung des 7-Bit ASCII um Sonderzeichen, und Graphik Symbole für Computer. (hier stammen die länderspezifischen Codepages von Microsoft her, da es für die mit dem 8. Bit codierten Zeichen 15 Varianten gibt)

    8-Bit ANSI: Variante des ASCII Code, die mit dem 8. Bit codierten Zeichen stimmen nicht mit denen des 8-Bit ASCII überein. (Das ist der Grund warum es bei DOS die Änderungen in den Codepages gab)
    http://www.pctipp.ch/typo3temp/pics/6bf18f36a8.jpg

    21-Bit Unicode: Weltweit genormter Code nach ISO 10646.



    Geändert von i_make_it (30.04.2016 um 09:19 Uhr)

  5. #5
    Unregistriert
    Gast
    Fuer C halte ich dieses fuer massgebend:
    http://www2.informatik.uni-halle.de/lehre/c/c27.html
    Etwas weiter unten stehen die zugelassenen Zeichen für Namen

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.445
    Spätestens wenn man mal mit Systemübergreifender Kommunikation anfängt, wird das Wissen um die verschiedenen Kodierungen, nicht nur für Bezeichner interessant.
    Mit 8-Bit ASCII und ANSI habe ich das schon miterlebt.
    Da wurden Namen übertragen. Bei allen Tests funktionierte das auch einwandfrei (man hatte nur die 7-Bit Kodierten Zeichen benutzt) im Einsatz ging das dann total in die Hose, da die aus einem ASCII codierendem System stammenden Namen natürlich im ANSI System die Binärzahlen für die entsprechenden Umlaut auf andere Zeichen gemapt haben.
    Da braucht es nicht wie in meinem Fall Ein SAP R2 und SAP R3 System, da reicht auch ein Netzwerktauglicher Umweltsensor dessen Strings jemand in einem System mit Unicode verarbeiten will. Und ich gehe mal davon aus, das der TO sich im laufe der Zeit bestimmt weiterentwicken wird und eventuell ist Ihm dann dieser kurze Abriss ganz hilfreich um stundenlanges Suchen zu vermeiden.
    In meinem Fall hatten die beiden Betriebsteams schon 2 Wochen gesucht.
    Nachdem ich mir von beiden Seiten je eine Textdatei mit den selben Namen habe schicken lassen, hat es solange gedauert wie es braucht zwei mal Hexedit zu öffnen und in beiden Dateien den selben Umlaut anzeigen zu lassen um das Problem zu finden.
    Der Parser der die Umlaute von ASCII auf ANSI umgesetzt hat war in 15 Minuten fertig.
    Das geht aber nur wenn man weis das es verschiedene Kodierungen gibt und nicht in seine kleinen Welt gefangen bleibt.
    Die Entscheidung ob meine Info als hilfreich oder übers Ziel hinausgeschossen zu betrachten ist überlasse ich dem TO.

  7. #7
    Unregistriert
    Gast
    Zitat Zitat von HaWe Beitrag anzeigen
    keine Umlaute und auch keine Sonderzeichen in C Bezeichnern (Funktions- und Variablen-Namen) verwenden,
    sondern nur einfache Buchstaben (A-Z, a-z), Ziffern und Unterstrich,
    keine Ziffern am Anfang,
    Groß/Kleinschreibung beachten!
    Genau, nur einfache Buchstaben und nicht die komplizierten wie Umlaute.

Ähnliche Themen

  1. Mathe in C, (division und acos..)
    Von hosti im Forum C - Programmierung (GCC u.a.)
    Antworten: 14
    Letzter Beitrag: 20.02.2010, 12:47
  2. #Clocks für float division
    Von WarChild im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 19
    Letzter Beitrag: 19.07.2009, 12:33
  3. division durch null
    Von manhunt im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 08.02.2009, 20:24
  4. Simple Division mit AVR
    Von martin im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 04.01.2006, 19:42
  5. Division mit AVR
    Von LinuxMan im Forum Software, Algorithmen und KI
    Antworten: 4
    Letzter Beitrag: 11.06.2004, 17:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •