-
-
[旧帖]
[求助]有关C语言八进制的问题。朋友帮帮忙
0.00雪花
-
发表于:
2012-5-25 23:08
1731
-
[旧帖] [求助]有关C语言八进制的问题。朋友帮帮忙
0.00雪花
我用的是vs2010写C语言代码,int型所占位数为32位。
下面先贴一段代码。
int main()
{unsigned int i,k;
i=-1;
k=4294967295;
printf("%o,%o",k,i);
system("pause");
return(0);
}
问题1:上面代码一开始,我就声明i,k为无符号数。这时候是不是系统就会划分两个32位的空间分别给i,k.unsigned int型表示范围为0-4294967295.
那i=-1为什么没有报错?
问题2:上面代码的输出结果i和k都为37777777777.
他们的八进制都一样,那是否i和k的二进制也一样呢?都为32个1?
如果一样,二进制为32个1,那输出此二进制数(32个1)的十进制数是该输出-1还是4294967295?
问题3:我将上述代码unsigned int i,k;改成int i,k;输出结果还是同样两个都为37777777777.int型数的范围为-2147483648~2147483647.那么k=4294967295;不是应该报错吗?
知道的朋友帮下忙。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)