PHP操作十進位制正整數中的bit位

2021-08-25 03:07:20 字數 880 閱讀 7835

<

?php

/*** 根據十進位制整數得到置為1的二進位制位

*/function get_bit_set_pos(

$int))

}return

$arr;}

/*** 設定整數中指定的bit位

*/function set_bit_pos(

$int,$

pos)

$int+=

pow( 2,

$pos

- 1)

;return

$int;}

else

}/**

* 設定整數中指定的多個bit位(陣列形式提供)

*/function set_bit_pos_merge(

$int,$

pos_arr

)foreach($

pos_arras$

pos)

}return

$int;}

/*** 清除整數中指定的bit位

*/function clean_bit_pos(

$int,$

pos)

$int-=

pow( 2,

$pos

- 1)

;return

$int;}

else

}/**

* 清除整數中指定的多個bit位(陣列形式提供)

*/function clean_bit_pos_merge(

$int,$

pos_arr

)foreach($

pos_arras$

pos)}}

return

$int;}

數值轉換 十進位制正整數轉二進位制

今天朋友去面試,問到一基礎題,實現正整數到二進位制的轉換。因為對基礎掌握的不牢,此題並未能做出正確解答。我在給他講解一番後,他恍然大悟。對於十進位制正整數到二進位制的轉換其實很簡單,用2輾轉相除至結果為1,將餘數和最後的1從下向上倒序寫,就是整數所對應的二進位制值。例如5的二進位制就是101 如圖 ...

十進位制整數轉化R進製整數

棧結構的邏輯結構為線性的,可建立鏈式結構使得入棧 出棧的操作是動態的,也可以很好地實現進製的轉換。而且進製轉換恰好和棧的輸入輸出輸出類似,故選擇棧是最好的。功能 該函式實現建立初始化的棧。具體過程 1.建立乙個棧結構體指標s 2.將s指標指向的s top賦予 1,即定義棧頂初始為空。功能 該函式實現...

1009 十進位制整數的反碼

每個非負整數 n 都有其二進位制表示。例如,5 可以被表示為二進位制 101 11 可以用二進位制 1011 表示,依此類推。注意,除 n 0 外,任何二進位制表示中都不含前導零。二進位制的反碼表示是將每個 1 改為 0 且每個 0 變為 1。例如,二進位制數 101 的二進位制反碼為 010 給定...