![]() |
Re: zählen mit buchstaben?
@r_kerber: Das wollte ich auch gerade schreiben! :cry:
@silent: Das würde bedeuten, das Z + Z = B ist, da Z = 26 -> 26 + 26 = 52. Und 52 = 2*26^1 und 2 = B. EDIT: Ich habe mich da wohl verrechnet, wie ich gerade gemerkt habe. Ich musses nochmal kontrollieren. |
Re: zählen mit buchstaben?
Also, ich habe mir alles noch mal durch den Kopf gehen lassen und habe gererkt: in diesem System fehlt die Null! Solang es keine Null hat, wirst du wohl auch keine Rechungen durchführen können.
|
Re: zählen mit buchstaben?
Es geht, war auch schon fertig.
Mir ist aber leider der Rechnerabgestürtzt, bevor ich speichern konnte. :cry: :wall: Also in 5 Minuten nochmal. |
Re: zählen mit buchstaben?
Liste der Anhänge anzeigen (Anzahl: 1)
Hat 'en bissl länger gedauert.
Dafür jetzt auch noch verbessert. :mrgreen: :idea: Einfach etwas abstrakt denken und "ohne" Nullen rechnen. Eine Null "@" ist zwar vorhanden, damit aber das gewünschte Ergebnis raus kommt wurde sie in der Ausgabe übersprungen. :thuimb: Also dann noch viel Spaß damit :firejump: |
Re: zählen mit buchstaben?
Hier noch die 35er Variante mit 0 bis 9 und A bis Z (Buchstabe O weggelassen wegen Ähnlichkeit zu Zahl 0):
Delphi-Quellcode:
function IntPowerInt(ABaseNum, AExponent : Integer) : Integer;
var MultCount : Integer; begin Result := 1; for MultCount := 1 to AExponent do Result := Result * ABaseNum; end; function AlphaToNum(ATNstr : String ) : LongWord; const ValidChars : set of Char = ['0'..'9', 'A'..'N', 'P'..'Z']; var ACount : Integer; function CharNum(CNchr : Char) : Byte; begin Case Ord(UpCase(CNchr)) Of 48..57: CharNum := Ord(UpCase(CNchr)) - 48; 65..78: CharNum := Ord(UpCase(CNchr)) - 55; 80..90: CharNum := Ord(UpCase(CNchr)) - 56; end; end; begin AlphaToNum := 0; for ACount := 1 to length(ATNstr) do begin If not (UpCase(ATNstr[ACount]) in ValidChars) then begin result := 0; Break; end; result := result + (CharNum(ATNstr[ACount]) * IntPowerInt(35, length(ATNstr) - ACount)); end; end; function NumToAlpha(NTAnum : LongWord ) : String; var NumChar : array[0..34] Of Char; NumCount : Word; begin for NumCount := 0 to 9 do NumChar[NumCount] := Chr(48 + NumCount); for NumCount := 10 to 23 do NumChar[NumCount] := Chr(55 + NumCount); for NumCount := 24 to 34 do NumChar[NumCount] := Chr(56 + NumCount); // max 35 hoch (7-1) result := ''; for NumCount := 7 downto 1 do If (NTAnum < IntPowerInt(35, NumCount)) then begin result := result + NumChar[NTAnum div IntPowerInt(35, NumCount-1)]; NTAnum := NTAnum mod IntPowerInt(35, NumCount-1); end; end;
Delphi-Quellcode:
s1 := 'AZGE';
s2 := 'X45B'; s3 := NumToAlpha(AlphaToNum(s1) + AlphaToNum(s2)); |
Re: zählen mit buchstaben?
Zitat:
|
Re: zählen mit buchstaben?
Meintest wohl "A@".
Da die Null ("@") übersprungen wird, ist "Z" (26) + "A" (1) nicht "A@" (1.0) sondern "AA" (1.1). Logischer währe es gewesen "A" = 0 ... "Z" = 25 zu setzen, dann ist aber "A" (0) + "A" (0) = "A" (0) und nicht "A" (1) + "A" (1) = "B" (2). Deshalb gibt es bei diesem Zahlensystem auch nur die Wertigkeiten 1 bis 26. Add: Ist vieleicht etwas schwer zu erklären, da wir ja sonst "nur" mit Zahlensystem die eine 0 enthalen arbeiten: Binär = 0 und 1 Oktal = 0 bis 7 Hexadezimal = 0 bis 15 und natürlich das dezimale = 0 bis 9 ... |
Re: zählen mit buchstaben?
Das Problem ist ja, ein Zahlensystem ohne die Null ist nicht wirklich ein Zahlensystem, wenn man es mathematisch betrachtet.
|
Re: zählen mit buchstaben?
Das ist schon ein, es kennt halt nur die Werte 1 bis unendlich.
Das geht doch schon in die Richtung, wie: Wenn 3 Menschen in einem Raum sind und 5 diesen verlassen, müssen 2 wieder rein gehen, damit niemand mehr drin ist. |
Re: zählen mit buchstaben?
Moin The Master,
Zitat:
Bei den römischen Zahlen gibt es auch keine 0. Da man erst mit der 0 sinnvoll rechnen konnte, haben wir heute wohl auch die arabischen Ziffern, denn die Araber haben die 0 eingeführt. (Übrigens sifr ist das arabische Wort für 0, aus dem dann bei uns das Wort Ziffer geworden ist). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz