输入-1输出结果为什么是65535

2024-11-19 12:53:30
推荐回答(4个)
回答1:

这要涉及到数据在内存中的存储形式(二进制)-1在内存中以补码形式存储11111111,转换成十进制就是65535

回答2:

数据是用补吗形式储存的,如果你声明的是unsigned int或者系统默认int为unsigned,即无符号的变量,那么系统就会认为是65535咯

回答3:

没有啊,楼主是不是把数字设置成无符号的了?试下我这个C语言的
main()
{
int a;
scanf("%d",&a);
printf("%d",a);
}
输入-1输出也是-1啊

回答4:

变量被定义成了UNSIGNED?