Einzelnen Beitrag anzeigen

Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#10

Re: Berechnung eines Wertes aus Widerstandsreihe

  Alt 30. Dez 2006, 12:21
danke marabu, werde mir das mal genauer anschauen. was mir gleich auffällt, ist die Verwendung von Integers statt floats (welches sicherlich schneller geht). Ich werde daher auch floats verwenden (=100er Dekade).
Gibt es eine Möglichkeit einen Wert schneller auf diese dekade zu kommen als so in der Art (ungetested):

Delphi-Quellcode:
function tohundreddecade(value:double;var dir:integer):integer;
var
  ftmp:double;
  itmp:integer;
begin
  //direction zur rückrechnung in ursprünglichen Wert
  //result ist natürlich der dekadenwert
  //itmp ist die temporäre integer-var;ftmp die für floats
  dir:=0;
  result:=0;
  ftmp:=value;
  if value <100 then
  begin
    while ftmp<100 do
    begin
      ftmp:=ftmp*10;
      inc(dir);
    end;
  end else if value>999 then
  begin
    itmp:=trunc(ftmp);
    while ftmp>999 do
    begin
      itmp:=itmp div 10;
      dec(dir);
    end;
    result:=itmp;
  end;
  if result=0 then
    result:=trunc(ftmp);
end;
Gruß Frank
  Mit Zitat antworten Zitat