《C语言深度剖析》

1、整数在计算机中的表示方法
int main()
{
    char a[1000];
    int i;
    for(i=0;i<1000;i++)
    {
        a[i] = -1-i;
    }
    printf("%d",strlen(a));
    return 0;
}
答案:255
分析:整数在计算机中表示方法为补码,正数补码为原码,负数补码为反码加上1。负数反码为符号位变1,其他位取反。
-1=1000 0001,反码=1111 1110,补码=1111 1111=0xff=255
-2=0xfe=254
-256=0x00=0='\0'
ps:+0和-0在计算机中表示均为0000 0000

猜你喜欢

转载自blog.csdn.net/braveyly/article/details/17436249
今日推荐