Log2メソッドは、2を底とした対数(2進対数、⌊log2n⌋・⌊lb n⌋)を求めます。

Math.Logメソッドによっても2進対数を求めることはできますが、LeadingZeroCountメソッド相当のビット演算によって計算される点、これに従い戻り値が整数(⌊lb n⌋)となる点が異なります。 たとえば、値が100(2)から111(2)の場合、Log2メソッドの結果はすべて2(10)となります。 Mathクラスを使った場合にMath.Floor(Math.Log(2.0, n))とすることで得られる値が、Log2メソッドの結果となります。

Log2メソッドは、uint/UInteger, ulong/ULongの整数型のみに対して定義されています。 結果はint/Integerで返されます。

BitOperations.Log2メソッドで2進対数を求める .NET Core 3.0
using System;
using System.Numerics;

static class Sample {
  static void Main()
  {
    // BitOperations.Log2メソッドはuint/ulongに対してのみ使用できる
    uint val = 0b_1000_0000_0000_0000_0000_0000_0000_0001;

    // BitOperations.Log2で2を底とした対数を求める
    int log2 = BitOperations.Log2(val);

    // Math.Logで求める場合との比較
    foreach (var _val in new uint[] {0x1u, 0x5u, 0x123u, 0xCAFEu, 0x80000000u, 0xFFFFFFFEu}) {
      Console.WriteLine($"val = {_val.ToBinary()}\tBitOperations.Log2(val) = {BitOperations.Log2(_val)}\tMath.Log(val, 2) = {Math.Log(_val, 2.0)}");
    }
  }

#region "数値を二進数表記で文字列化するためのメソッド"
  static string ToBinary(this uint number) => "0b_" + Convert.ToString(number, 2).PadLeft(8 * sizeof(uint), '0');
#endregion
}
実行結果
val = 0b_00000000000000000000000000000001	BitOperations.Log2(val) = 0	Math.Log(val, 2) = 0
val = 0b_00000000000000000000000000000101	BitOperations.Log2(val) = 2	Math.Log(val, 2) = 2.321928094887362
val = 0b_00000000000000000000000100100011	BitOperations.Log2(val) = 8	Math.Log(val, 2) = 8.184875342908285
val = 0b_00000000000000001100101011111110	BitOperations.Log2(val) = 15	Math.Log(val, 2) = 15.665280393678295
val = 0b_10000000000000000000000000000000	BitOperations.Log2(val) = 31	Math.Log(val, 2) = 31.000000000000004
val = 0b_11111111111111111111111111111110	BitOperations.Log2(val) = 31	Math.Log(val, 2) = 31.999999999328193