#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 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
我这里并没有变4字节,难道是系统或者编译器的问题?
输出为 FFFF FFFE 为什么?
%x 不会输出负数,至于为什么....我查到的资料是
当我输出无符号的时候,-2的值是4294967294,转换成十六进制就是0xffffffe