int a=-1;C语言整型数分配2个字节,在计算机中下列十六进制表示的a()是正确的.

问题描述:

int a=-1;C语言整型数分配2个字节,在计算机中下列十六进制表示的a()是正确的.
A.ffff; B.8001; C.1001; D.0001;
1个回答 分类:综合 2014-10-18

问题解答:

我来补答
答案是A 这儿用到一个编码的概念:补码 在计算机系统中,数值一律用补码来表示(存储).对于负数来说:补码=反码+1. -1的原编码为1000 0000 0000 0001最高位1是标志位,表示这是一个负数,那么他的反码(符号位不变,其它位取反)就是1111 1111 1111 1110,所以-1的补码就应该是反码1111 1111 1111 1110再加上1变成1111 1111 1111 1111这个16位的2进制数就相当于十六进制的FFFF
 
 
展开全文阅读
剩余:2000