title: How to compress pointer ? eg. arbitrary bit pointer
body: <p>I'm coding a complex tree data structure, which stores lots of pointers. The pointers themselves occupy lots of space, and this is what I'm expecting to save.</p>
  <p>So I'm here to ask whether there are examples on this. E.g.: For 64-bit data type, can I use a 32-bit or less pointer if the data it's pointing to is sure to be continuous?</p>
  <p>I found a paper called <a href="http://llvm.org/pubs/2005-06-12-MSP-PointerComp.html" rel="nofollow noreferrer">Transparent Pointer Compression for Linked Data Structures</a>, but I thought there could be a much simpler solution.</p>
  <h2>Update:</h2>
  <p>It is an <a href="https://en.wikipedia.org/wiki/Octree" rel="nofollow noreferrer">octree</a>. A paper here about this on GPU is <a href="http://maverick.inria.fr/Publications/2011/Cra11/" rel="nofollow noreferrer">GigaVoxels: A Voxel-Based Rendering Pipeline For Efficient Exploration Of Large And Detailed Scenes</a>, they use 15-bit pointers on GPU</p>