PHP 位轉換積累 之與運算擷取二進位製流的值

2022-02-17 14:42:56 字數 426 閱讀 6848

function getbit( $num, $bit, $mask )

var_dump( getbit( 41, 3, 7 ) );

var_dump( getbit( 0x29, 0x0, 0xf ) ); //十六進製制表示法同樣適用

此函式適合大端序的二進位製流

取十進位制數$num的第$bit位起至$mask位,返回值是十進位制數

原理,把$num左移動至$bit位,然後跟$mask相與,得到的就是掩碼掩住的幾位二進位制數,例如(也就是0000 1010),取9的第2至第4位(101,也就是十進位制數5),先右移動1位,然後跟7(也就是0000 0111)相與,然後得到5(101)這個數,因為相與的位,只有雙方都為1的時候才等於1,只有一方為0都等於0,所以掩碼必須為左起連貫的1的二進位制數, 例如0000 1111,0000 0111

php 位運算與許可權,PHP中的位運算和進製處理

php中的位運算和進製是比較冷門的知識,感覺很簡單也很好理解,但是在實際場景中卻很少使用,本篇博文就是簡單了解基本概念以及講解如何去實際使用.位運算php中的位運算子是對整形進行的操作,比如對於十進位制,二進位制,八進位制等數字的一些操作.按位與 and 按位或 or 按位取反 not 按位異或 x...

位運算總結 之 與

1 判斷奇偶 乙個數二進位制的末位數是1,則該數是奇數,末位數是0,則該數是偶數。因此可以用 a 1 0來判斷。如下例 include using namespace std int main cout endl return 0 2 消除尾一 消除最後出現的1 x x 1 如 用 o 1 時間檢測...

PHP匿點之位運算按位取反

我們看示例 a 8 var dump a 先不要看結果,試想下結果是多少?然後我們執行下看看,納尼?和我們設想的不一樣,奇怪了 什麼原因呢 於是我們翻看php中文手冊 a not 按位非 將 a 中為 0 的位設為 1,反之亦然。我只是簡單的理解為 0變1,1變0。原來按位取反以十進位制輸出並不是簡...