很简单的 数据溢出问题。
随便写了个 如下一个很简单的例子。
#include "stdio.h"
int t(int a, unsigned int b)
{
return a/b;
}
int main()
{
printf("%d\n",t(-50,2));
return 0;
}
//输出结果是:2147483623。
原因是unsigned 十无符号的整形不能表示-50/2。所以取低32位的结果就是2147483623
我的问题是:printf("%x\n",t(-50,2));//这个不是以16进制输出来结果值吗,结果十7FFFFFE7
printf("%p\n",t(-50,2));//这个不是结果值的地址吗,结果为什么也是7FFFFFE7?
我哪里理解错了》结果值等于地址值?
一时反映不上来。各位帮忙理下思路。。。。。
#include "stdio.h"
int t(int a, unsigned int b)
{
return a/b;
}
int main()
{
printf("%d\n",t(-50,2));
return 0;
}
//输出结果是:2147483623。
原因是unsigned 十无符号的整形不能表示-50/2。所以取低32位的结果就是2147483623
我的问题是:printf("%x\n",t(-50,2));//这个不是以16进制输出来结果值吗,结果十7FFFFFE7
printf("%p\n",t(-50,2));//这个不是结果值的地址吗,结果为什么也是7FFFFFE7?
我哪里理解错了》结果值等于地址值?
一时反映不上来。各位帮忙理下思路。。。。。
...全文
相关推荐
解决Java导入excel大量数据出现内存溢出的问题
今天小编就为大家分享一篇解决Java导入excel大量数据出现内存溢出的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
简单的缓冲区溢出源码
缓冲区溢出简单实例,里面有三个实例,都是简单的c代码,其中第一个实在linux下运行的,库文件有点问题
Java数据溢出代码详解
主要介绍了Java数据溢出的相关内容,包括具体代码示例,分析比较详细,希望对大家有所帮助,感兴趣的朋友可以参考下。
浅谈C#互操作的内存溢出问题
以前了解过c++的栈内存溢出,没想到在c#里被我遇到了,问题看似不大,如何被恰好相邻的四个字节是返回地址,说不定危害不小啊!看来c#的互操作还是得小心为好
简单的缓冲区溢出介绍
简单的 缓冲 区溢出介 绍


