#include<stdio.h>
int main()
{
char c=-2;
//sizeof(c)=1 8个位
//有符号补码 应该是
//1111 1110=0xFE
printf("%d\n",sizeof(c));
printf("%x",c);
//输出为 FFFF FFFE 为什么?
return 0;
}
#include<stdio.h>
int main()
{
char c=-2;
//sizeof(c)=1 8个位
//有符号补码 应该是
//1111 1110=0xFE
printf("%d\n",sizeof(c));
printf("%x",c);
//输出为 FFFF FFFE 为什么?
return 0;
}
3 回答1k 阅读✓ 已解决
1 回答933 阅读✓ 已解决
4 回答723 阅读
1 回答807 阅读
2 回答1.2k 阅读
1 回答844 阅读
1 回答605 阅读
我这里并没有变4字节,难道是系统或者编译器的问题?
输出为 FFFF FFFE 为什么?
%x 不会输出负数,至于为什么....我查到的资料是
当我输出无符号的时候,-2的值是4294967294,转换成十六进制就是0xffffffe