- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 6 von 6

Thema: Eine 8 stellige Zahl auswerten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Ich würde 'byte zahlen[8]' verwenden. Ist zwar 8 Byte groß (64 Bit) [Vergleich: long (32 Bit)], dafür braucht es 0 Rechenpower zur Dekodierung der Zahl und ist übersichtlich.

  2. #2
    Benutzer Stammmitglied Avatar von Chevy
    Registriert seit
    07.12.2004
    Ort
    Biblis
    Alter
    57
    Beiträge
    33
    Hi,

    den Code von McGrizzly habe ich zwar nicht zum laufen gebracht, aber der Denkanstoss war gut und so habe ich die Funktion etwas komprimieren können.

    PHP-Code:
    /*
    *
    * Copyright (c) 2015 Marco Steinhauser. All rights reserved 
    *
    *  Anzeige
    *  Dieses Test Programm ist für die Anzeige DRAG Race
    *  
    *   
    *  getestet auf Arduino Uno R3
    *   
    *  
    *  Version 1.1
    *  Erstellt Vers. 1.0 am 24 März 2015
    *              V. 1.0 Eine 8 stellige Zahl wird in einzelnen Zahlen aufgeteilt
    *                     Zur kontrolle der Funktion wird das Ergebnis auf den 
    *                     Seriellen Monitor ausgegeben. 
    *
    *  Erstellt Vers. 1.1 bis 1.2 am 25 März 2015
    *              V. 1.1 Die Funktion der Auswertung wurde mit einer FOR Schleife
    *                     und einem Array Variable realisiert. 
    *              V. 1.2 Die Funktion "error" wurde implementiert. Hier erfolgt
    *                     eine Kontrolle ob die Zahlen in der Array Variable den
    *                     Zahlen aus der Vorgabe entsprechen. 

    */

    long zahl=34598237;    //Beim Durchlauf mit +1 hier 9999999 eintragen.

    long errorzahl=0;


    long divisor=10000000;

    long teilzahl=0;

    int i=0;

    byte einzelzahl[8];


    void setup() 
    {

    Serial.begin(9600);

    }

    void loop() 
    {
    errorzahl=0;

    //zahl = zahl++;    //Zahl bei jedem Durchlauf um 1 erhöhen

    Serial.println("");
    Serial.print("Zahl Vorgabe=");  Serial.println(zahl);

    delay(2000);
    bestimmeZahl(); 

    Serial.print("einzelzahl="); 
    Serial.print (einzelzahl[0]); 
    Serial.print (einzelzahl[1]);
    Serial.print (einzelzahl[2]);
    Serial.print (einzelzahl[3]);
    Serial.print (einzelzahl[4]);
    Serial.print (einzelzahl[5]);
    Serial.print (einzelzahl[6]);
    Serial.println (einzelzahl[7]);

    error();

    if (
    errorzahl == zahl){
    Serial.println("Alles Super!!!!");   
    }
    else {
    Serial.println("Fehler!!!!");
    }


    Serial.print("Error Zahl=");  Serial.println(errorzahl);
    delay (2000);
    }



    void bestimmeZahl ()   // Funktion zum Auswerten einer 8 stelligen Zahl
    {


    for (
    int i=0i<8i++){
      
    teilzahl=(zahl/divisor);  
      
    divisor=(divisor/10);  

    if (
    teilzahl >=10) {
      
    teilzahl=(teilzahl%10); 
      }   
    einzelzahl[i] = (teilzahl);    
    }
    divisor=10000000;
    }

    void error()
    {
      
    for (
    int i=0i<8i++){
    errorzahl errorzahl*10+einzelzahl[i];
    }

    Habe mal noch eine Funktion eingebunden, die kontrolliert ob die Zahl die in die Array Variable gespeichert wurde, auch der vorgegebenen Zahl entspricht.

    Das wird wohl später verwendet, damit die Anzeige keinen Mist anzeigt oder damit eine neue Zahl angefordert werden kann. So oder so ähnlich

    Gruß Marco
    Geändert von Chevy (27.03.2015 um 13:56 Uhr) Grund: Neue Funktion eingebunden

Ähnliche Themen

  1. wie 4 Stellige zahl hex konvertieren?
    Von Accenter im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 17
    Letzter Beitrag: 07.06.2010, 22:51
  2. 2 stellige 7-Segmentanzeige - Unklarheiten
    Von TheHawk im Forum Elektronik
    Antworten: 17
    Letzter Beitrag: 11.06.2008, 21:25
  3. Zahl auswerten!!!!! größer 1000 kleiner 2000
    Von mechatron im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 06.07.2007, 23:32
  4. Wie kann ich in eine If einen Bereich auswerten?
    Von Henry im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 30.05.2007, 16:53
  5. wie eine SMS auswerten?
    Von arthurik im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 1
    Letzter Beitrag: 16.07.2005, 15:46

Berechtigungen

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

12V Akku bauen