在下面的代码中,我0xffffffff
将(32 位)乘以 2unsigned int
并将其存储在unsigned long long
(64 位)中。为什么我没有得到实际的输出是8589934588
. 相反,我得到4294967294
. 提前致谢。输出:sizeof i=4 Sizeof J=8 2xi=4294967292
/* Code starts here */
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
unsigned int i=4294967294;
unsigned long long j=i*2;
printf("Sizeof i=%d\n", sizeof(i));
printf("Sizeof J=%d\n", sizeof(j));
printf("2xi=%llu\n", j);
return 0;
}