用c++ 输入无符号数得到的问题
#include
#include<Windows.h>
using namespace std;
int main(void){
unsigned xiaoming; //unsihned类型就是unsigned int
unsigned you;
unsigned diff;
cout<<"你年纪多大了 ?"<<endl;
cin>>you;
cout<<"小明多大了"<<endl;
cin>>xiaoming;
diff = you - xiaoming;
cout<<"你比小明的年纪大"<<diff<<"岁"<<endl;
diff=xiaoming-you;
cout<<"小明的年纪比 你的大"<<diff<<"岁"<<endl;
system("pause");
return 0;
}
会出现补码的现象
无符号数,不能表示负数!
如果强行用无符号数表示负数,实际存储的是这个负数对应的“补码”
即:该负数 + “模值”