int main()
{
unsigned int un = 3000000000;
int verify= -1294967296;
printf("%d\n", un);//输出 -1294967296;
printf("%u",verify);// 输出3000000000;
getchar();
两者输出一样,两者的二进制编码应该是一样的。不一样的数据类型写入变量的二进制编码方式不一样;不同转换说明有不同的转换方式,先存入再转换。
un 用unsigned int 写入 用%d转换说明转换,
verify用int 写入 用%ud转换说明转换,
//只要搞明白这两个参数的关系就明白 了为什么这么输出;
对于常量而言printf("%d\n", 0100);//整形存储八进制100 但是写入仍然是二进制,输出 64
}