私はRで作業しています。最高の整数のビットをマスクする高速関数を見つける必要があります。例:Rのマスキング最高設定ビット?
これは、最も近い2の累乗を引くのと同じです。私は、2つの最も近い低電力を簡単に見つける高速な関数を見つけることができれば幸いです。例:
# 6 in binary is 110, the MSB is 100
function_power_two(6) = 4
function_mask(6) = 6 - function_power_two(6) = 2
# 8 in binary is 1000, the MSB is 1000 which is 8 in base 10
function_power_two(8) = 8
function_mask(8) = 8 - function_power_two(8) = 0
ビット単位の演算がRで見つかりました。たとえば、bitwShiftLとbitwShiftRです。しかし、私はRのソリューションを実装する方法を知りません
私は他の言語のソリューションを見てきました:Java、C、およびC++です。しかし、Rでこれらのソリューションを実装する方法はわかりません
Rcppを使用するC++のソリューションはありますが、Rcppは32ビットより大きい整数をサポートしていません。私はそれより大きな整数が必要です。 Rソリューションの