日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基础编程题之最大连续bit数(位运算)

發(fā)布時間:2025/3/15 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础编程题之最大连续bit数(位运算) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目

這道題涉及到的也是位運算,具體思路就是,定義一個count,定義一個max,從右向左依次掃描這個數(shù)的二進制位,遇到1就count++,遇到0就將count置為0,并且將max和count進行比較,并把大的賦值給max

同時還有一個問題,就是如何判斷一個二進制數(shù)字的某一位是0還是1,我們只需要將某個數(shù)移位然后讓它和1進行與運算,如果結(jié)果為1表明此位為1,否則此位為0

using namespace std;int main() {int num=0;while(cin>>num){int count=0;int max=0;while(num){if(num&1){count++;}else{if(count>max){max=count;}count=0;}num=num>>1;}cout<<max<<endl;}return 0; }

這樣提交后,通過率為一半

其中200的二進制位為1100 1000,可以發(fā)現(xiàn)在最后一次結(jié)束時,由于沒有遇到最后一位的0,所以沒有進入循環(huán),因此max沒有被更新,所以判斷代碼換到上一個if分支中即可

using namespace std;int main() {int num=0;while(cin>>num){int count=0;int max=0;while(num){if(num&1){if(count>max){max=count;}count++;}else{count=0;}num=num>>1;}cout<<max<<endl;}return 0; }

總結(jié)

以上是生活随笔為你收集整理的基础编程题之最大连续bit数(位运算)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。