可否根据这个8位16进制数求出编译器总的内存数么?该如何处理

可否根据这个8位16进制数求出编译器总的内存数么?
#include<iostream>
using namespace std;
int main()
{
int a=520;
int *p;
cout<<"a的值为"<<a<<endl;
cout<<"a的地址为"<<&a<<endl;
p=&a;
cout<<"a的值为"<<a<<endl;
cout<<"a的地址为"<<&a<<endl;
cout<<endl;
cout<<"p的值为"<<p<<endl;
cout<<"p的地址为"<<&p<<endl;
return 0;
}
输出结果为
a的值为 520
a的地址为 001AF818
a的值为 520
a的地址为 001AF818

p的值为 001AF818

p的地址为 001AF83C
可否根据这个8位16进制数求出编译器总的内存数么?还是这之间有什么联系?即2的32次方 个二进制位,即512MB的内存!可否这样算!求解决!


------解决方案--------------------
内存多少不是编译器说了算的,而且你的程序运行时具体放在内存中哪个位置也不是编译器控制,而是由操作系统来控制的。

所以,这些数值和内存多少没什么关系。
------解决方案--------------------
探讨

引用:

内存多少不是编译器说了算的,而且你的程序运行时具体放在内存中哪个位置也不是编译器控制,而是由操作系统来控制的。

所以,这些数值和内存多少没什么关系。
那这些数值能说明什么问题么?他们不是内存地址吗?

------解决方案--------------------
你能通过你的身份证号算出全国有多少人?
------解决方案--------------------
探讨

引用:

内存多少不是编译器说了算的,而且你的程序运行时具体放在内存中哪个位置也不是编译器控制,而是由操作系统来控制的。

所以,这些数值和内存多少没什么关系。
那这些数值能说明什么问题么?他们不是内存地址吗?