int i=-5; unsigned int y; y=i; printf("%d",y); 为什么是-5;

2024年11月22日 07:34
有1个网友回答
网友(1):

%d是有符号的输出,改为%u无符号就ok了
i和y内存中的数据是相同的,
unsigned
int和int的区别在于,int把第一位当符号位,而unsigned
int不是。
i=-5,y=2147483653
(0x80000005)