#include <stdio.h>int main(){ short int x = -10; // 原码 - 1000 0000 0000 1010 // 反码 - 1111 1111 1111 0101 // 补码 - 1111 1111 1111 0110 // F F F 6(我以为的结果) // 结果 - fffffff6, 好像占用4个字节 printf("%x\n", x);}刚开始看C语言,不太明白求解,谢谢诸位
2 回答
BIG阳
TA贡献1859条经验 获得超6个赞
#include <stdio.h>
int main(void) {
char a=-10,b=1,e=2,d=4;
long long c=-10;
int sizea=sizeof(a);
int sizec=sizeof(c);
printf("%x,%d\n%x,%d\n",a,sizea,c,sizec);
printf("%x,%d\n%x,%d",*((unsigned int*)&a),sizea,*((unsigned int*)&c),sizec);
return 0;
}
- 2 回答
- 0 关注
- 573 浏览
添加回答
举报
0/150
提交
取消