.NET Core 3.0から、System.Numerics.BitOperations
クラスが追加されています。
このクラスには、下記のようなビット操作を行うメソッドがあります。
LeadingZeroCount
Log2
PopCount
RotateLeft
TrailingZeroCount
これらのメソッドはIntrinsicsを使って実装している(依存している)ため、.NET Frameworkなどの環境で使用できるバックポートNugetパッケージがありません。
しかし、これらのメソッドにはIntrinsicsが使えない環境用にフォールバック実装があります。
従って、常にフォールバック実装を使用すれば、.NET Standard 2.0でも使用できるようになります。
というわけで、MITライセンスのBitOperations.csをコピペ&細工しましょう。(ライセンスに従って取り扱う必要はがあります。)
#if
ディレクティブで無効にするだけです。
したものがこちらです。
一応Nugetパッケージも用意してみましたが、使用するアセンブリに組み込んでしまったほうがいいでしょう。
なお、Unityで動作するかはわかりません。