具体的思想是当unsigned int 的每一位都是1的话,那么这个值是最大的。我们可以采用一直向左移位,每次移位后加1,这样移动31位后,再加1,那么32位都是1了!嘿嘿。结果是4294967295
#include <iostream>
using namespace std;
int main()
{
unsigned int a=1;
for (int i=30;i>=0;--i){
//左移31次,每次左移加1,将个位补1,最后就是32个1
a<<=1;
++a;
}
cout<<a<<endl;
return 0;
}