| |
|
|
Jac de Lad | Konvertiert une Dezimalzahl dans un d'autre Zahlensystem (ähnlich Hex$, Oct$ et so), seulement dass qui la base libre wählbar ist (allez jusqu'à 36, pour Hexidezimal volonté simple qui restlichen Buchstaben des Alphabets verwendet). et au-dessous qui Umkehrfunktion.
je n'en sais rien si irgendjemand irgendwann en Nutzen avons peux et wird...ah oui, et il peut qui marque naturellement beliebig erweitern ou bien changement...! KompilierenMarqueSéparation
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 serait la fois intéresser, quoi son en haltet. mais s'il te plaît ehrliche Anworten, à vrai dire habe je selbst pour eigentlich aucun 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 simple sur alle 256 Chrs des ordinateur-Alphabets. cela minimiert qui Speicherung de payons um un beträchtliches. je benutze une ähnliche Procédure toujours um payons dessen Taille je pas kenne à certain se mettre auszulesen, qui toujours une certain place dans einem String ou bien Bereich einnehmen devoir. cela hat Beispielsweiße chez qui numéro 300 beim auslesen den Vorteil, le moi erstmal beispielsweiße seulement 3 Bytes reservieren muss, dans qui Reihenfolge: Chr$(0) + Chr$(1) + Chr$(44), anstatt pour qui selbe numéro: MkStr$(0,Len(Str$(256*256*256))-3) + 300.
Timo |
|
|
| |
|
|
|
Jac de Lad | à vrai dire verstehe je seulement gare et habe je n'en sais rien, quoi du meinst!
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 | oui, OK. je drück mich la fois wieder viel trop compliqué aus. je miente lediglich, cela on avec solchen procéder payons qui on dans Cordes übergibt extrem komprimieren peux.
Normal: 16777215 (8 marque)
Hexadeximal: FFFFFF (6 marque)
256-Chr Methode: Chr$(255) + Chr$(255) + Chr$(255) (3 marque)
ici pouvoir sich cela vieleicht encore pas bemerkbar, mais besonders si on Riesenzahlen benutzt muss on sowiso sur Cordes ajuster, et c'est une exzellente Komprimierung.
Timo |
|
|
| |
|
|
|
Michael Wodrich | [quote-part:9550d698e5]cela hat Beispielsweiße chez qui numéro 300 beim auslesen den Vorteil, le moi erstmal beispielsweiße seulement 3 Bytes reservieren muss, dans qui Reihenfolge: Chr$(0) + Chr$(1) + Chr$(44), anstatt pour qui selbe numéro: MkStr$(0,Len(Str$(256*256*256))-3) + 300. [/quote-part:9550d698e5] sur meinem calculateur belegt qui String 300 aussi seulement 3 Bytes.
Anstatt folgendes??? qui venez sur so une verworrene concept? (Habe es la fois aufgelöst) KompilierenMarqueSéparation Chr$(0) + Chr$(1) + Chr$(44)
alors la hâte Du schlicht qui Binärform qui numéro comme String dargestellt. qui Reihenfolge MSB...LSB hatte mich d'abord un peu irritiert.
belle Grüße Michael Wodrich
MSB = most significant bit LSB = least significant bit
cela Umrechnen dans payons einer anderen la base peux z.B. pour simple-Verschlüsselung benutzt volonté. Es läßt sich oui jederzeit retourner (si on qui la base kennt et sais, qui es sich um une numéro handelt). |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 25.01.2006 ▲ |
|
|
|
|
Jac de Lad | je peil cela toujours pas. peux quelqu'un de euch den Voir le texte source paraphraser?
@Michael: dis donc, gibts pour qui Funktionen aussi une Verwendung? Mir fällt jedenfalls aucun un...
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 | qui un Posting plus dessus angezeigte Voir le texte source sollte seulement qui verwendete Formel schrittweise auflösen (chacun la ligne ist une Auflösung plus). et am Ende steht ensuite comme Ergebnis:
si Du une Wert comme 3-marque-Binärwert darstellst ensuite ist cela kürzer comme si Du une String sur 8 marque Longueur avec Nullen auffüllst.
alors vergiß es simple, car qui erzeugte Binärstring wird pas sonderlich lesbar son.
belle 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 ▲ |
|
|
|