Re: Datenmanipulation Kategorie: Programmierung (von Volker - 27.11.2005 13:18) | |
Als Antwort auf Re: Datenmanipulation von krassos - 25.11.2005 19:46
| |
> > > Hallo Volker, > > > > > > wie wär es mit der guten alten BCD-Zerlegung? > > > Wenn Du einen Ansto� brauchst, schau Dir mal André's .zahl -Funktionen in hwcom.c2 und rblcd.c2 an. > > > > > > Gru� krassos > > > > Hallo krassos, > > > > vielen Dank für den Tipp.. > > > > Habe ich mir angeschaut. Denkansto� gut, aber es rasselt nicht weiter!? Ich verstehe die Funktionen > > von Andre´ so, dass er die benötigten Zahlen auf die einerstelle bringt und dann mit der Funktion num() > > das Zeichen schreibt. Meiner Meinung nach ignoriert die Funktion num() führende Stellen. > > Ich will aber die Einerstelle ohne führende andere Stellen isolieren. > > > > Nemen wir als Beispiel wieder die Zahl 1234. > > > > Um die 1 zu isolieren funktioniert das ganze, wenn ich die Zahl durch 1000 teile. > > 1234/1000 = 1 (1 steht alleine, kann ich dann in ein Byte kopieren) > > > > Wenn ich aber die Zahlen 2 und folgende isolieren will, bleiben immer die führenden Zahlen übrig > > (Int-Variable)! > > > > 1234/100 = 12 (Hier will ich nur die 2) > > 1234/10 = 123 (Hier will ich nur die 3) > > > > Müsste doch ganz einfach sein!? Ich steh auf dem Schlauch... > > > > Gru� > > > > Hallo Volker, > > ist ganz einfach, komm runter vom Schlauch... > > Das Verfahren geht so: > > Int-Variablen vorausgesetzt. > > 1234/1000 = 1 > 1234-1*1000=234 > > 234/100=2 > 234-2*100=34 > > 34/10=3 > 34-3*10=4 > > hth > > Grú� krassos Hallo krassos, vielen Dank für deine Tipps, anbei meine funktionierende Umsetzung der Datumsspeicherung in einem Byte-Array: Zehner = (system.day()/10);//Zehnerstelle isolieren Einer = (system.day() - Zehner * 10);//Einerstelle isolieren DatPointer = 0;//0 sms[DatPointer] = Zehner + 48;//Ascii in Array speichern DatPointer = DatPointer + 1;//1 sms[DatPointer] = Einer + 48;//Ascii in Array speichern //Zerlegung Monat Zehner = (system.month()/10); Einer = (system.month() - Zehner * 10); DatPointer = DatPointer + 1;//2 sms[DatPointer] = Zehner + 48; DatPointer = DatPointer + 1;//3 sms[DatPointer] = Einer + 48; //Zerlegung Jahr Zehner = (system.year()/10); Einer = (system.year() - Zehner * 10); DatPointer = DatPointer + 1;//4 sms[DatPointer] = Zehner + 48; DatPointer = DatPointer + 1;//5 sms[DatPointer] = Einer +48; Viele Grü�e Volker > > > > > | |
Antwort schreiben Antworten: |