| |
|
|
Jac de Lad | Konvertiert una Dezimalzahl en una más Zahlensystem (ähnlich Hex$, Oct$ y así), sólo dass el Base frei wählbar es (va a 36, después de Hexidezimal voluntad simplemente el restlichen Buchstaben des Alphabets verwendet). Und darunter el Umkehrfunktion.
Keine Idea si irgendjemand irgendwann su Nutzen haben kann y se...ach sí, y uno kann el Signo natürlich cualquier erweitern oder ändern...! KompilierenMarcaSeparación
proc ConvertBase
Parameters x&,b&
declare y$,z&,l%
l%=Int(Ln(x&)/Ln(b&))
whileloop l%,0,-1
z&=x&&^&Loop
If GT(z&,0)
y$=y$+Mid$("123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",z&,1)
Sub x&,z&*b&^&Loop
else
case Neq$("",y$):y$=y$+"0"
endif
wend
Return y$
endproc
proc ConvertToDec
Parameters y$,b&
declare l%,e&
l%=Len(y$)
whileloop 1,l%
e&=e&+Instr(Mid$(y$,&Loop,1),"123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")*b&^(l%-&Loop)
wend
Return e&
ENDPROC
Jac
PS: Mich sería veces interés, qué ihr su haltet. Aber Por favor, ehrliche Anworten, ehrlich dijo Yo incluso dafür eigentlich no sinnvolle Anwendung... |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 24.01.2006 ▲ |
|
|
|
|
Timotheus | Erweitere deine Proceduren simplemente todos 256 Chrs des Computer-Alphabets. Das minimiert el Speicherung de Pagar en una beträchtliches. Yo benutze una ähnliche Procedimiento siempre en Pagar dessen Größe Yo no saber a cierto Stellen auszulesen, el siempre una cierto Platz en un String oder Zona einnehmen debería. Das ha Beispielsweiße en Zahl 300 beim auslesen el Vorteil, el Yo primero beispielsweiße sólo 3 Bytes reservieren muss, en el Reihenfolge: Chr$(0) + Chr$(1) + Chr$(44), anstatt para el selbe Zahl: MkStr$(0,Len(Str$(256*256*256))-3) + 300.
Timo |
|
|
| |
|
|
|
Jac de Lad | Ehrlich dijo verstehe Yo sólo Bahnhof y habe ni idea, qué du media!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 24.01.2006 ▲ |
|
|
|
|
Timotheus | Sí, OK. Yo drück mich veces otra vez viel a kompliziert de. Yo miente lediglich, el uno con solchen Verfahren Pagar el uno en Cuerdas übergibt extremo komprimieren kann.
Normal: 16777215 (8 Signo)
Hexadeximal: FFFFFF (6 Signo)
256-Chr Método: Chr$(255) + Chr$(255) + Chr$(255) (3 Signo)
Hier macht se el vieleicht todavía no bemerkbar, aber besonders si uno Riesenzahlen benutzt muss uno sowiso en Cuerdas ajustar, y el es una exzellente Komprimierung.
Timo |
|
|
| |
|
|
|
Michael Wodrich | [quote:9550d698e5]Das ha Beispielsweiße en Zahl 300 beim auslesen el Vorteil, el Yo primero beispielsweiße sólo 3 Bytes reservieren muss, en el Reihenfolge: Chr$(0) + Chr$(1) + Chr$(44), anstatt para el selbe Zahl: MkStr$(0,Len(Str$(256*256*256))-3) + 300. [/quote:9550d698e5] Auf mi Rechner belegt el String 300 auch sólo 3 Bytes.
Anstatt folgendes??? Wer kommt en así una verworrene Concepto? (Posesiones lo veces aufgelöst) KompilierenMarcaSeparación Chr$(0) + Chr$(1) + Chr$(44)
Also hast Usted schlicht el Binärform el Zahl como String dargestellt. El Reihenfolge MSB...LSB hatte mich zuerst una wenig irritiert.
Schöne Grüße Michael Wodrich
MSB = most significant bit LSB = least significant bit
Das Umrechnen en Pagar uno otro Base kann z.B. para Einfach-Verschlüsselung benutzt voluntad. Lo läßt se sí en cualquier momento umkehren (si uno el Base sabe y weiß, daß se trata de un Zahl es). |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 25.01.2006 ▲ |
|
|
|
|
Jac de Lad | Yo peil el siempre todavía no. Kann alguien de euch el Ver código fuente umschreiben?
@Michael: Sag veces, gibts para el Características auch una Verwendung? Mir fällt jedenfalls no una...
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 25.01.2006 ▲ |
|
|
|
|
Michael Wodrich | Der una Posting más oben angezeigte Ver código fuente debería sólo el verwendete Formel schrittweise auflösen (jede Línea es una Auflösung mehr). Und al Ende es entonces como Ergebnis:
Si usted una Valor como 3-Signo-Binärwert darstellst entonces el kürzer como si una String en 8 Signo Longitud con Nullen auffüllst.
Also vergiß lo simplemente, porque el erzeugte Binärstring no es sonderlich lesbar ser.
Schöne Grüße Michael Wodrich
Chr$(0) + Chr$(1) + Chr$(44) aufgelöst: (0*256 + 1) * 256 + 44 ergibt 300 |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 25.01.2006 ▲ |
|
|
|