1: 0和-0在计算机中的存储 |-0|=(00000000)原码 即取该数绝对值后的二进制数,计算机中对数据的存储是按补码形式存储的 那么就要把原码先转换成反码 即按位取反得到-0=(11111111)反码 再把反码加1得到补码 ,所以-0=(00000000)补码。 2: int i = -20; unsigned j = 10; i+j = ? 在运算时会隐含的进行类型转化,低类型向高类型转换,比如,float和double型的浮点数数进行运算,会自动将float型转换成double型,再进行运算。结果也是高类型的。 3:
#include <stdio.h>
int main()
{
unsigned i;
for(i=9;i>=0;i--)
printf("%u\n",i);
}
死循环,因为无符号数没有负数,恒大于0!