unsigned
在一些代码中,经常能看到unsigned这种数据类型,比如下面这样的。
#include<iostream> using namespace std; int main(){ unsigned int x; int y; cin>>x>>y; cout<<x<<" "<<y; return 0; }
那么unsigned int 和普通的int 有什么区别呢?
#include<iostream> using namespace std; int main(){ int i=2147483647; //32位int范围 unsigned int j=4294967295; //32位 unsigned int范围 printf("%d %d %d\n",i,i+1,i+2); printf("%u %u %u\n",j,j+1,j+2); return 0; }
输出结果:
2147483647 -2147483648 -2147483647 4294967295 0 1
由以上结果可知,unsigned int溢出后数值回到“起始点”0,而int溢出后数值回到“起始点”-2147483648。
(adsbygoogle = window.adsbygoogle || []).push({});