#include<iostream>
using namespace std;
int main()
{
unsigned a=0;
int b=1;
cout<<b-1<<endl;
cout<<a-b<<endl;
}
a-b的结果并不是-1,这是因为 unsigned 和 int 进行运算时,int会被强制转换为unsigned类型,即unsigned int
转换为0+(-1);
-1为补码 即 1111 1111 1111 1111转换为unsigned 这将是一个很大的值,即2的32次方