1、非布尔变量赋值给布尔变量:0为false,非0为true
2、布尔变量赋值给非布尔变量:false为0,true为1
3、浮点数赋值给整数:只保留浮点数的整数部分,不讨论溢出情况
4、整数赋给浮点数:整数的小数部分为0,暂不讨论溢出情况
5、把一个数赋值给无符号类型,且溢出:先做取模运算,再赋值
unsigned int i;
i = -8;
则i = 2^32-8
6、把一个负数赋值给无符号类型:先做取模运算,再赋值
7、负数和无符号做加法算术运算,先将负数转为无符号数(先取模,再赋值),再做算术运算
int main()
{
unsigned int u =10;
int i =-42;
int j;
cout<<"u + i ="<<u+i<<endl;
cin>>j;
return 0;
}
结果为:(2^32-42)+10=4294967264
8、值小的无符号数和值大的无符号做减法算术运算,先做减法运算,再将负结果转为无符号数
int main()
{
unsigned int u =42;
unsigned int i =10;
int j;
cout<<"i - u ="<<i-u<<endl;
cin>>j;
return 0;
}
结果为:(10-42)+2^32 =4294967264
时间: 2024-10-22 20:31:17