title: How to do an integer log2() in C++?
body: <p>In the C++ standard libraries I found only a floating point log method. Now I use log to find the level of an index in a binary tree ( <code>floor(2log(index))</code> ). </p>
  
  <p>Code (C++):</p>
  
  <pre><code>int targetlevel = int(log(index)/log(2));
  </code></pre>
  
  <p>I am afraid that for some of the edge elements (the elements with value 2^n) log will return n-1.999999999999 instead of n.0. Is this fear correct? How can I modify my statement so that it always will return a correct answer?</p>