青少年编程知识记录 codecoming

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({});

作者:亿万年的星光 分类:C++知识 浏览: