Ich vermute jetzt mal ins Blaue, dass das MySQL so ohne weiteres nicht kann. Das ist auch evtl etwas viel was Du da verlangst - die Umrechnung musst Du wahrscheinlich schon selbst berechnen.
Hallo,
wie kann ich aus einem INTEGER-Wert mit einer SQL-Abfrage in MySQl ermittel, welche BITZAHLEN (1,2,4,8,16,32, ...) dort enthalten sind,
z.B. ermitteln, dass in der Zahl 15 die Bitzahlen 1,2,4 und 8 enthalten sind oder in der Zahl 10 nur die Bitwerte 2 und 8.
ungefähr so:
SELECT BitwerteIn(Variable) FROM table WHERE ID=x
Herzlichen Dank für Eure Antworten!
Grüße Marcel
Ich vermute jetzt mal ins Blaue, dass das MySQL so ohne weiteres nicht kann. Das ist auch evtl etwas viel was Du da verlangst - die Umrechnung musst Du wahrscheinlich schon selbst berechnen.
...zur Zeit außer Betrieb...
Wie hat den die Umrechung zu erfolgen. Gibt es da eine Formel für?
Ist nicht sonderlich schwer:
- Teile deine Zahl durch 2
- Merke dir das ganzzahlige Ergebnis
- Merke dir den Rest (immer 1 oder 0)
- Teile das ganzzahlige Ergebnis wieder durch 2
- Wiederhole die Schritte 1-3 bis das Ergebnis der Division 0 ist
- Die Binärzahl ergibt sich aus den gemerkten Resten von hinten nach vorne abgelesen
Das ganze lässt sich recht intuitiv in Code umsetzen - vielleicht gibt es aber auch noch eine etwas effizientere Variante. Da müsstest Du mal selbst
suchen.
...zur Zeit außer Betrieb...
warum so kompliziert
There is an app ... ähm a function for that.
http://www.php.net/manual/de/function.decbin.php
Wer's allgemeiner mag, nimmt base_convert.
Gruss Guin
Mein Blog
Ahh, hätt ich mir auch denken können, dass es da eine bzw mehrere Funktionen in PHP für gibt. Aber so weiß er wenigstens, wie es geht, wenn er nur Papier und Bleistift hat. BTW funktioniert meine Methode auch mit Zahlen die größer sind als 4294967295 - es dauert dann nur etwas ;-)
...zur Zeit außer Betrieb...
4294967295 besteht aus 32 Einsen. Das ist schon ne Menge. Ansonsten gibt es auch eine Funktion in den Kommentaren, die deine Vorgehensweise nachbaut.
Die Funktion bindecValues (http://php.net/decbin) aus den Kommentaren ist auch interessant. Das entspricht eigentlich dem was der TO wollte. Den Wert der jeweiligen Eins.
Gruss Guin
Mein Blog
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)