Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Umrechnen von Zahlensystemen
1. Sep 2011, 08:00
Ich würde bei falschen Zeichen aber nicht -1 zurückgeben, sondern eine Exception werfen.
[edit] Also so (ist ja jetzt auch egal):
Delphi-Quellcode:
function BinToInt( const BinStr: string): Cardinal;
const
ERR_TOO_LONG = ' Eingabe "%s" ist zu lang für eine Konvertierung';
ERR_INVALID_CHAR = ' Ungültiges Zeichen: "%s"';
var
i, BinWert: Cardinal;
begin
if Length(BinStr) > SizeOf(Result) * 8 then
raise Exception.CreateFmt(ERR_TOO_LONG, [BinStr]);
Result := 0;
BinWert := 1;
for i := Length(BinStr) downto 1 do
begin
case BinStr[i] of
' 0': ;
' 1': Result := Result or BinWert;
else
raise Exception.CreateFmt(ERR_INVALID_CHAR, [BinStr[i]]);
end;
BinWert := BinWert shl 1;
end;
end;
[/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
Geändert von DeddyH ( 1. Sep 2011 um 08:20 Uhr)
|