printf输出的不同整型数据
书上的源程序是
#include
main()
{
short i;
i=-2;
printf("\n i: %d,%o,%x,%u\n",i,i,i,i);
}
书上的 答案是i:-2,177776,fffe,65534
可我运行的结果是i: -2,37777777776,fffffffe,4294567294
不同是我哪打错了还是书上出错了
请高手指教
搜索更多相关的解决方案:
整型 printf 数据 输出
----------------解决方案--------------------------------------------------------
书上把short型认为是2个字节
-2 的二进制表示是 1 111 111 111 111 110
八进制是 177776
而你的机子上short型变量有4个字节
-2 的二进制表示是 11 111 111 111 111 111 111 111 111 111 110
八进制是 37777777776
其它的进制的道理是一样的
----------------解决方案--------------------------------------------------------
呵呵!咱两运行结果一样!
----------------解决方案--------------------------------------------------------
short型数据也是4个字节吗?int型数据有的机子上是4个字节!
----------------解决方案--------------------------------------------------------
噢```可能我在VC++6.0和TC的环境不一样吧```是这个原因嘛```?
----------------解决方案--------------------------------------------------------