# CSJ2K.j2k.util.MathUtil.log2

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="CSJ2K_j2k_util_MathUtil_log2_" data-uid="CSJ2K.j2k.util.MathUtil.log2*">log2 Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="CSJ2K_j2k_util_MathUtil_log2_" data-uid="CSJ2K.j2k.util.MathUtil.log2*"></a>
<h4 id="CSJ2K_j2k_util_MathUtil_log2_System_Int32_" data-uid="CSJ2K.j2k.util.MathUtil.log2(System.Int32)">log2(int)</h4>
<div class="markdown level1 summary"><p>Method that calculates the floor of the log, base 2, of 'x'. The
calculation is performed in integer arithmetic, therefore, it is exact.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public static int log2(int x)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Shared Function log2(x As Integer) As Integer</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">x</span></td>
      <td><p>The value to calculate log2 on.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><p>floor(log(x)/log(2)), calculated in an exact way.</p>
</td>
    </tr>
  </tbody>
</table>
</div>
