Zurück   klamm-Forum > klamm-Lose > Lose4Scripts > Lose4Scripts (erledigt)

 
 
LinkBack Themen-Optionen Ansicht
Alt 26.09.2012, 00:16:36   #1 (permalink)
Erfahrener Benutzer
Benutzerbild von NeoGriever

ID: 348575
Lose-Remote

Reg: 24.06.2008
Beiträge: 1.050
Standard (jetzt gratis) - Javascript-Klasse zum Arbeiten mit Binärwerten

Code jetzt gratis
http://j.gs/820813/jsbinary


Hier ein paar Anwendungsbeispiele:
Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var text = "Tester"; // Umwandeln eines beliebigen Strings in eine Zahlenkombination var zahl1 = Binary.anyToInt(text); // = 1657491221 // Konvertierung einer Zahl in einen binären String ohne Vornullen var binary1 = Binary.toBinStr(zahl1); // = 1100010110010110100111100010101 // Selbe Funktion, jedoch mit Reverse-Angabe (Umkehrung) var binary2 = Binary.toBinStr(zahl1,true); // = 1010100011110010110100110100011 // Rückwandlung eines binären Strings ODER Arrays in eine Zahl var zahl2 = Binary.fromBinary(bin2); // = 1417243043 // Konvertierung einer Zahl in ein True/False-Array auf binärer Basis. var array1 = Binary.toBinArray(5); // = array(true,false,true)
Die Klasse ist gut ausgeklügelt und dürfte keine Fehler aufweisen. Einzigst die anyToInt-Funktion könnte bei komplexen Strings Probleme machen.

Preis:
  • 2.500.000 Klammlose Kostenlos
Lizenz:
  • Privatnutzung
Bestimmungen:
  • Verwendung nur auf privaten Seiten.
  • Keine kommerzielle Verwendung.
  • Weitergabe oder Verbreitung des Scripts ist nicht gestattet.
Für 2,5mio ist es ein schnäppchen dafür, was man damit alles machen kann. Z. b. lassen sich checkbox-listen in formularen als binärwert übertragen, was das ganze enorm an bytes, die übertragen werden müssen, sparen lässt. (z. b. wenn man 64 checkboxen hat, kann man mit fromBinary einen Zahlenwert bekommen, den man in PHP dann einfach wieder in einen binären wert umwandeln muss.)

Jede Funktion außer die from-Funktionen sowie die eigentliche reverse-Funktion bieten einen zweiten Parameter, um das Resultat direkt umzukehren. Also dass 22 nicht 10110 ergibt, sondern 01101. Was 13 ergeben würde.

Wer hätte daran Interesse? :P

Geändert von NeoGriever (26.09.2012 um 15:47:38 Uhr) Grund: Frei zur Verfügung gestellt - Closed
NeoGriever ist offline  
Alt 26.09.2012, 01:08:10   #2 (permalink)
Browsergamer
Benutzerbild von TAKAGAMES

ID: 103338
Lose-Remote

TAKAGAMES eine Nachricht über Skype™ schicken
Reg: 02.05.2006
Beiträge: 630
Standard

hehe, cooler scherzbeitrag, der sich auf den anderen threat hier im forum bezieht wegen codeschnipseln und das man dafür lose verlangt.
Ich denke die leute haben angst höflich im Programmierforum zu fragen und geben dafür lieber Lose aus, das ist die Menthalität die dieses Forum vermittelt

Aber schluss mit offtopic!

Du sagst du sparst damit in der Übertragung, aber der Traffic der JS datei ist doch dennoch höher als ein Wert einer checkbox? Ab wieviel Checkboxen rentiert sich die Klasse?

gruss Marcus
"A programmer is just a tool which converts caffeine into code" (anonym)

TAKAGAMES ist offline  
Alt 26.09.2012, 07:10:01   #3 (permalink)
Erfahrener Benutzer
Benutzerbild von NeoGriever

ID: 348575
Lose-Remote

Reg: 24.06.2008
Beiträge: 1.050
Standard

Zitat:
Zitat von KussMar Beitrag anzeigen
hehe, cooler scherzbeitrag, der sich auf den anderen threat hier im forum bezieht wegen codeschnipseln und das man dafür lose verlangt.
Ich denke die leute haben angst höflich im Programmierforum zu fragen und geben dafür lieber Lose aus, das ist die Menthalität die dieses Forum vermittelt

Aber schluss mit offtopic!
Ja okay. Das ist schon ein guter Einwand. Aber im Gegensatz zu 20mio Losen sind 2,5 mio Lose ja wirklich fliegenfürze :P

Zitat:
Zitat von KussMar Beitrag anzeigen
Du sagst du sparst damit in der Übertragung, aber der Traffic der JS datei ist doch dennoch höher als ein Wert einer checkbox? Ab wieviel Checkboxen rentiert sich die Klasse?

gruss Marcus
Wir rechnen mal.

Nehmen wir die gesamten Bytes der Klasse, wenn es minimalisiert ist: 1896 Bytes
Nun werden wir mal rechnen, ab wievielen Checkboxen im true,false,true-verfahren diese größe überschritten ist. Im Grunde brauchen wir da nur durch 5 zu teilen und schon wissen wir es.

1896/5 = 379,2

Also umgerechnet bei 380 Feldern überschreiten wir die größe der JS-Libary. Kompensiert würde es jedoch um MEILEN weniger ergeben.

Ich habe es getestet 12 Blöcke zu je 32 Checkboxen via meiner Klasse in binärwerte und somit in zahlen umgerechnet und habe diese werte dann einfach mit komma verbunden. Resultat war ein Wert von gerade mal 131 Bytes. Gehen wir mal davon aus, wir könnten diese Werte sogar noch in Hexadezimal umwandeln, würden noch etwa 20 bis 30 Bytes weniger entstehen.

Gut. Es ist jetzt etwas weit hergeholt, dass jemand mit 12x32 Checkboxen anfängt. Aber so ließen sich gut raster-felder übermitteln. (Nehmen wir mal nen Koordinatensystem, welches pro Koordinate eine Checkbox enthält als Beispiel. Dabei sind die Zeilen (die Y-Koordinaten) die Blöcke und die Spalten (Die X-Koordinate) die indexes der Blöcke ...)

Meine Klasse ist recht ausgeklügelt und an der Minimalisierung arbeite ich auch noch ein wenig, was bestimmt noch unter die 1700 rutschen wird.

Mag sein, dass es Kritik über die Sinnhaltigkeit dieser Klasse gibt. Aber manche könnten sie gebrauchen.
NeoGriever ist offline Threadstarter  
Alt 26.09.2012, 11:48:36   #4 (permalink)
Browsergamer
Benutzerbild von TAKAGAMES

ID: 103338
Lose-Remote

TAKAGAMES eine Nachricht über Skype™ schicken
Reg: 02.05.2006
Beiträge: 630
Standard

vielen dank für die rechnung!

Wenn ich mal ne seite programmiere die 320 Checkboxen hat und über paar 1000 views in einer stunde besitzt, komm ich auf dich zrück
"A programmer is just a tool which converts caffeine into code" (anonym)

TAKAGAMES ist offline  
Alt 26.09.2012, 12:01:10   #5 (permalink)
XHTML|PHP|SQL|C

ID: 227795
Lose-Remote

Reg: 19.09.2006
Beiträge: 985
Standard

Das genanze Szenario die Werte Binär-invertiert zu übertragen hat einen gravierenden Fehler.
So ergeben alle Zahlen der Folge {1, 3, 7 ,15, 31, ...} invertiert 0 sofern man nicht auf einen festen Bitverktor normiert und mit 0en auffüllt.
Insgesamt ist die Anwendung als solches als Quatsch zu betrachten.
 
Darklord ist offline  
Alt 26.09.2012, 13:19:27   #6 (permalink)
Erfahrener Benutzer
Benutzerbild von NeoGriever

ID: 348575
Lose-Remote

Reg: 24.06.2008
Beiträge: 1.050
Standard

Zitat:
Zitat von Darklord Beitrag anzeigen
Das genanze Szenario die Werte Binär-invertiert zu übertragen hat einen gravierenden Fehler.
So ergeben alle Zahlen der Folge {1, 3, 7 ,15, 31, ...} invertiert 0 sofern man nicht auf einen festen Bitverktor normiert und mit 0en auffüllt.
Insgesamt ist die Anwendung als solches als Quatsch zu betrachten.
Binary.toBinStr32(50) = 00000000000000000000000000110010

Denkst du echt, ich hätte nicht dran gedacht?

Es gibt:
  • toBinStr8
  • toBinStr16
  • toBinStr24
  • toBinStr32
  • toBinStr64
Sollte z. b. bei toBinStr8 der rückgabewert LÄNGER als 8 Zeichen sein, wird automatisch das nächsthöhere genommen. In diesem Fall dann toBinStr16. Genauso bei der 16er-Variante usw.

:P

Edit:
Und "reverse" bedeutet NICHT invertieren! Sondern Umkehren. Also 001101 wird NICHT 110010, sondern 101100. Die Binäre Reihenfolge wird lediglich umgekehrt.

Edit 2:
Sollte toBinStr64 einen längeren Rückgabwert geben wollen, wird toBinStr genommen, welches die Länge nicht erweitert.

Geändert von NeoGriever (26.09.2012 um 13:22:13 Uhr)
NeoGriever ist offline Threadstarter  
Alt 26.09.2012, 15:18:07   #7 (permalink)
return void
Benutzerbild von ice-breaker

ID: 93995
Lose-Remote

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.271
Standard

Stell den Code auf Github frei für alle oder lass es sein, das ist doch lächerlich. Es kommt so rüber, dass du zwanghaft versuchst irgendeinem Trottel Lose abzuzocken.

Dein ganzer Code ist nur ein kleiner Wrapper um parseInt() und Integer.toString().

Und dann auch noch die weltfremde Bedingung, dass es nicht auf kommerziellen Seiten genutzt werden darf Also bau entweder etwas richtiges und verkauf es oder lerne noch weiter, bis du es kannst, aber sowas hier ist doch nur peinlich. Zumal es ein absolut spezialisiertes "Problem" ist, welches so gut wie niemand hat, und dann hat jeder erfahrene Entwickler einen String in nen Binary in 2 Sekunden mit parseInt umgewandelt.
"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici

www.internet-dsl-flatrate.de

Geändert von ice-breaker (26.09.2012 um 15:18:41 Uhr)
ice-breaker ist offline  
Alt 26.09.2012, 15:44:49   #8 (permalink)
Erfahrener Benutzer
Benutzerbild von NeoGriever

ID: 348575
Lose-Remote

Reg: 24.06.2008
Beiträge: 1.050
Standard

Bitteschön. Dann gibts den Code halt für Lau. Naja. N bissl Werbung müsst ihr über euch ergehen lassen.

http://j.gs/820813/jsbinary

Und damit wird der Beitrag hier auch geschlossen.
NeoGriever ist offline Threadstarter  
 

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[V] Javascript-Klasse für Fortschrittsbalken (Crossbrowser-Fähig) NeoGriever Lose4Scripts (erledigt) 1 30.03.2011 00:28:21
Methode einer Klasse nicht nur in der Klasse nutzen baserider Programmierung 4 07.05.2009 19:39:23
Kann ich die 10 klasse abbrechen und paar monate arbeiten und dann auf eine Berufsschule? lisamarie Schule, Studium, Ausbildung 12 11.03.2009 20:59:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45:24 Uhr.