Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Zahl im Binärformat ausgeben Kategorie: Programmierung (von wema - 29.01.2006 23:36)
Als Antwort auf Re: Zahl im Binärformat ausgeben von André H. - 29.01.2006 17:15
Ich nutze:
C164CI-ControllerBoard, CC2-ReglerBoard, OSOPT V3.0
> Hallo wema,
>
> Krassos hat zwar schon die beste lösung geschrieben, jedoch noch eine Anmerkung
> zum Einsatz von Strings, da Du einzelne Ziffern mit print-Funktionen ausgibst:
>
> > > >
> > > > function dez_zu_bin(byte wert)
> > > > {
> > > >   byte schleifenzaehler;
> > > >   for schleifenzaehler= 0 ... 7
> > > >   {
> > > >     if wert and (1 shl schleifenzaehler)   rblcd.print("1");
> > > >     else rblcd.print("0");
> > > >   }
> > > > }
> > > >

>
> Gib' einzelne Zeichen immer mit put-Funktionen aus.
> Also lieber rblcd.put('1');, als rblcd.print("1");.
> Die Ausführungsgeschwindigkeit wird dann um ein vielfaches gesteigert.
> Um Ziffern über ein LCD auszugeben, kann man auch die ziff()-Funktion von rblcd.c2 und
> lcdext.c2 verwenden.
> Was Deine Binärausgabe betrifft:
> Die Funktion keinerlei If-Bedingung. Das geht so viel einfacher:
> function dez_zu_bin(byte wert)
> {byte schleifenzaehler;
>  for schleifenzaehler= 0 ... 7 rblcd.ziff((wert shr schleifenzaehler) and 1);
> }

>
> Am idealsten geht es aber, wie krassos schon schrieb, mit str.putintf(); :
> function dez_zu_bin(byte wert)
> {string s;
>  s="";
>  str.putintf(s,wert,-8);
>  rblcd.print(s);
> }

>
> MfG André H.
>



Hallo André,

junge, junge. Man lernt eben nie aus. Was Du mir hier noch zu zum Nachdenken gibst, sind ja
richtig schicke Feinheiten. ;-))

Vielen Dank, werde in den kommenden Wochen einmal mein Programm diesbzgl. etwas aufforsten.

Dir und allen anderen noch einen schönen Abend,
wema


    Antwort schreiben


Antworten:

Re: Zahl im Binärformat ausgeben (von André H. - 8.02.2006 8:24)