三个问题

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!

 

posted on 2017-10-18 16:49  温怀雄  阅读(129)  评论(0编辑  收藏  举报

导航