m=1*10000000000的结果为什么等于1410065408??

用DEV C++计算m=1*10000000000时,发现m=1410065408(如下图)

#include<stdio.h>
#define uint unsigned long
long m=1;

int main(void)
{
    m=m*10000000000;
    printf("%d",m);
}

结果如下:

img

请高人指点,谢谢!

注意长整型取值范围