基础编程题之最大连续bit数(位运算)
生活随笔
收集整理的這篇文章主要介紹了
基础编程题之最大连续bit数(位运算)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
這道題涉及到的也是位運算,具體思路就是,定義一個count,定義一個max,從右向左依次掃描這個數的二進制位,遇到1就count++,遇到0就將count置為0,并且將max和count進行比較,并把大的賦值給max
同時還有一個問題,就是如何判斷一個二進制數字的某一位是0還是1,我們只需要將某個數移位然后讓它和1進行與運算,如果結果為1表明此位為1,否則此位為0
這樣提交后,通過率為一半
其中200的二進制位為1100 1000,可以發現在最后一次結束時,由于沒有遇到最后一位的0,所以沒有進入循環,因此max沒有被更新,所以判斷代碼換到上一個if分支中即可
總結
以上是生活随笔為你收集整理的基础编程题之最大连续bit数(位运算)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux I/O模型
- 下一篇: C++ 一个例子彻底搞清楚拷贝构造函数和