Angenommen, ich möchte das 2. Bit im binären Äquivalent von 13 (binär: 1101) finden. Es sollte 0.Wie bekomme ich nth Bit (von rechts) in einer binären Entsprechung einer ganzen Zahl in PHP?
Antwort
http://php.net/manual/en/language.operators.bitwise.php
($x >> 1) & 1
Nizza Antwort von Andrey zurückzukehren, auf jeden Fall mit seiner Lösung zu gehen. Hier ist eine andere Art und Weise es aber zu tun, String-Manipulation unter Verwendung von (ich weiß, ich weiß ...):
substr(decbin($x), -2, 1)
heilig sh .. das ist noch schwieriger zu lesen, dann bit Verschiebungen. Allerdings sehr originelle Art und Weise dies zu tun. –
@Pim Lol, danke. Logischerweise ist es aber ziemlich einfach, vielleicht zu viel. ;) – deceze
hier ein bisschen mehr universelle Funktion ist auch Bereiche Bit zu extrahieren.
function extract_bits($value, $start_pos, $end_pos)
{
$mask = (1 << ($end_pos - $start_pos)) - 1;
return ($value >> $start_pos) & $mask;
}
zum Beispiel von 13 Wert des zweiten Bits extrahieren würde es sein:
extract_bits(13,1,2);
- 1. wie man ein Bit an einer bestimmten Stelle in einer ganzen Zahl in irgendeiner Sprache umwandelt
- 2. Anzahl der 1s in einer binären Zahl
- 3. Rubin: die Anzahl von 1en in einer binären Zahl zählt
- 4. Drucken einer ganzen Zahl in Englisch
- 5. Wie bekomme ich LSB-Bit in MIPS?
- 6. Finden der ganzen Zahl einer Zahl
- 7. Beispiel einer zufälligen ganzen Zahl in Rcpp
- 8. Formatieren einer ganzen Zahl in C++
- 9. Wie Anzahl von Bytes in einer ganzen Zahl zählen
- 10. Wie bekomme ich die dritte Ziffer rechts von einer beliebigen Zahl in cpp?
- 11. Gefundene Bits einer ganzen Zahl finden
- 12. Konvertieren einer Zahl in eine Liste von ganzen Zahlen
- 13. Javascript einen binären Wert einer Zahl
- 14. Wie durchläufe ich die Ziffern einer ganzen Zahl?
- 15. Wie definiere ich einen Array-Wert aus einer ganzen Zahl?
- 16. Wie extrahiert man das Vorzeichen einer ganzen Zahl in Ruby?
- 17. Erhalten letzten drei Ziffern einer ganzen Zahl
- 18. Update einer ganzen Zahl zwischen Funktionen
- 19. maximaler Bit zu speichern, in einzelner ganzen Zahl Python variable
- 20. Zugriff auf Bytes einer ganzen Zahl in c
- 21. Wie bekomme ich den Modul einer Zahl in XPath/XSLT?
- 22. Wie bekomme ich die Position einer Zahl in Matrix?
- 23. php Wichtigkeit einer Zahl in einer Reihe von Zahlen
- 24. Drucken der binären Wert einer Zahl in clojure
- 25. Wie bekomme ich den Wert von einer Combobox in PHP
- 26. Wie bekomme ich AM/PM von einer Datetime in PHP
- 27. Die Größe in Bytes einer beliebigen ganzen Zahl
- 28. Vergleichen des Tags einer Ansicht mit einer ganzen Zahl
- 29. Hinzufügen einer ganzen Zahl zu allen Werten in einem Tupel
- 30. Echo einer ganzen Zahl aus einer mySQL-Datenbank
und Funktion n-te Bit zu erhalten: Funktion nbit ($ number, $ n) {return ($ note >> $ n-1) & 1;} –
@steeofrog: du hast Recht, aber für nth bit musst du pow (2, n-1) herausfinden, was wiederum durch shifting erledigt wird. – understack
Und wenn Sie nicht wissen, was ist das letzte Bit auf 1 einer Variable $ Nummer gesetzt, dann können Sie tun: 'Funktion getLeftMost1Bit ($ Nummer) {return log ($ Nummer)/log (2); } ' – tonix