note 82344 added to language.operators.bitwise
| From: | bartbonsatdebster dot nl at osu1 dot php dot net | Date: | Mon, 07 Apr 2008 09:27:55 +0000 |
| Subject: | note 82344 added to language.operators.bitwise | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-137994@lists.php.net to get a copy of this message | ||
@kendsnyder at gmail dot com
Thanx for your great function. But your function is not 100% correct. It should be:
function safeBitCheck($number,$comparison) {
if( $number < 2147483647 ) {
return ($number & $comparison)==$comparison;
} else {
$binNumber = strrev(base_convert($number,10,2));
$binComparison = strrev(base_convert($comparison,10,2));
for( $i=0; $i<strlen($binComparison); $i++ ) {
if( strlen($binNumber) - 1 <$i || ($binComparison{$i}==="1" &&
$binNumber{$i}==="0") ) {
return false;
}
}
return true;
}
}
Mind the 'minus 1' on "if( strlen($binNumber) - 1 <$i".
cheers, Bart
----
Server IP: 83.137.20.135
Probable Submitter: 212.238.141.176
----
Manual Page -- http://www.php.net/manual/en/language.operators.bitwise.php
Edit -- https://master.php.net/note/edit/82344
Del: integrated -- https://master.php.net/note/delete/82344/integrated
Del: useless -- https://master.php.net/note/delete/82344/useless
Del: bad code -- https://master.php.net/note/delete/82344/bad+code
Del: spam -- https://master.php.net/note/delete/82344/spam
Del: non-english -- https://master.php.net/note/delete/82344/non-english
Del: in docs -- https://master.php.net/note/delete/82344/in+docs
Del: other reasons-- https://master.php.net/note/delete/82344
Reject -- https://master.php.net/note/reject/82344
Search -- https://master.php.net/manage/user-notes.php