Supponiamo di voler trovare il 2 ° bit in equivalente binario di 13 (binario: 1101). Esso dovrebbe restituire 0.Come ottenere l'ennesimo bit (da destra) in un equivalente binario di un intero in PHP?
risposta
http://php.net/manual/en/language.operators.bitwise.php
($x >> 1) & 1
risposta Nizza dal Andrey, sicuramente andare con la sua soluzione. Ecco un altro modo per farlo, però, con la manipolazione delle stringhe (lo so, lo so ...):
substr(decbin($x), -2, 1)
holy sh .. che è ancora più difficile da leggere, quindi bit shift. Comunque molto originale modo di farlo. –
@Pim Lol, grazie. Logicamente è abbastanza semplice, forse troppo. ;) – deceze
Qui è un po 'la funzione più universale per estrarre anche bit gamme.
function extract_bits($value, $start_pos, $end_pos)
{
$mask = (1 << ($end_pos - $start_pos)) - 1;
return ($value >> $start_pos) & $mask;
}
ad esempio per estrarre valore del secondo bit da 13 sarebbe:
extract_bits(13,1,2);
- 1. Come ottenere un intero da MySQL come intero in PHP?
- 2. numero intero binario in output in php
- 3. Come ottengo i dati bit per bit da un valore intero in C?
- 4. Come disinserire un bit specifico in un numero intero
- 5. Lunghezza in bit di un numero intero positivo in Python
- 6. come avere un intero a 64 bit su PHP?
- 7. Come ottenere un valore intero da NSDictionary?
- 8. come ottenere un numero intero da JSON
- 9. Come convertire un byte in bit?
- 10. Come analizzare correttamente un intero in PHP?
- 11. Esiste un numero intero equivalente di __toString()
- 12. Come dividere un intero in binario a 2 byte?
- 13. Come convertire un intero in un array in PHP?
- 14. Come posso ottenere/impostare singoli bit in un float?
- 15. Esiste un equivalente binario di System.Text.StringBuilder?
- 16. Quale bit è avanti per un intero in Java
- 17. BIT: utilizzando un albero indicizzato binario?
- 18. Da binario a intero -> Erlang
- 19. Operatore bit a bit per ottenere byte da 32 bit
- 20. Operazioni di bit che convertono in un numero intero
- 21. Convertire un numero intero a 32 bit in 4 byte di dati in javascript
- 22. spostamento a destra e firmato intero
- 23. Come leggere i bit da un file?
- 24. Esiste un equivalente di std :: vector in PHP in C++?
- 25. come capovolgere un bit in una posizione specifica in un numero intero in qualsiasi lingua
- 26. Come estrarre un numero intero da un NSDictionary e inserirlo in un numero intero?
- 27. Esiste un equivalente PHP in sqlite3_limit?
- 28. Grabbing n bit da un byte
- 29. Come ottenere il testo da un file all'altro in php
- 30. In PHP, come posso ottenere l'XML esterno da un DOMNode?
e la funzione per ottenere po 'all'ennesima: funzione nBit (numero $, $ n) {return ($ numero >> $ n-1) & 1;} –
@stereofrog: hai ragione, ma per l'ennesimo bit, devi scoprire pow (2, n-1) che viene ancora eseguito spostando. – understack
E se non si conosce l'ultimo bit impostato su 1 di una variabile numero $, è possibile eseguire: 'function getLeftMost1Bit ($ number) {return log ($ number)/log (2); } ' – tonix