This forum is a continuation of
http://www.cplusplus.com/forum/lounge/190436/
The biggest problem thou was a miscommunication of what I meant because I don't believe this topic gets mentioned a lot, so I will try to explain it.
So, each computer can have a different amount of ram, but the actual number of bits that have to be used for addressing that RAM will always be round_up(log2(max_pointer_value - min_pointer_value)) because the min_pointer_value can be added to the pointer address to get the real pointer address. However, the number of bits used for storing this number using conventional pointers will always be the data bus size. What this mean is, for example I have 8GB of ram in my x86_64 PC, and I am running an example application that uses a 1048576 (2^20) length array of pointers. In a perfect world, 8GB of RAM means the application will use at most 33 bits of each pointer for storing the address location, and thus the array will take up 4325376 bytes (a little over 4MB) of space (because only 33 bits will be used for each address, so each address crammed into a memory-efficient 33 bits per index (using bitwise operators) array). However (unfortunately), we do not live in a perfect world, so in actuality 64 bits will be used to store each pointer (even though 33 bits are the most that is ever used), and the array will actually take up 8388608 bytes (8MB). This inefficient waste may sound inconsequential, and that is true... for most applications. But, in the growing industry of 3d simulations, HUGE amounts of points have to be used and memory is scarce, so (if anything) it would be practical to go through the 'trouble' of using bitwise operators to store the pointers in a more compact array based on their maximum range of values, and even for general purpose applications, it only take a few extra cpu cycles to super save on memory.
So, now back to my main question. I want to go about implementing this super-memory-saver, so I would like to know which functions with which libraries and which linked files on every existent platform I could use get what the maximum address of memory used by the application and minimum address of memory used by the application.