unsigned int的最大值(用十进制表示)

具体的思想是当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;

}


你可能感兴趣的:(unsigned int的最大值(用十进制表示))