请看如下代码:
#include<iostream>
using namespace std;
int main()
{
char a;
unsigned int i;
a=128;
i=a;
cout<<i;
return 0;
}
运行结果为:
4294967168,正好为11111111 11111111 11111111 10000000。而128正好是10000000.怎么解释呢?
#include<iostream>
using namespace std;
int main()
{
char a;
int i;
a=128;
i=a;
cout<<i;
return 0;
}
上述代码的结果为-128。我对内存中的赋值过程有些困惑,有没有比较明白的人呢?