Пакет Mathematica
01.02.2022
Есть произвольная битовая строка с единицами и нулями (первый бит справа всегда единица).
Требуется определить номер n-ого бита (минимально - это номер второго единичного бита) со значением единицы справа налево в этой битовой строке оптимально быстрым программным кодом в Mathematica.
Есть быстрый способ кроме перебора каждого бита на соответствие единице значения выбранного бита?
Т.е. интересует программный трюк.
Ответы
Способ: assembler.
Если возможно, то программный код уже в Mathematica был бы выходом из-за того, что не изучал assembler.
В асм можно как-то попытаться использовать построение и возможности МК. 1-е, что приходит на ум - конвейер. Но без перебора необойтьись наверно. В "Математика" вы будете выделять бит, потом сравнивать, это даже сложно представить сколько это операций. А в Асм бит сравнили, сдвинули, сравнили, сдвинули ... - две операции в цикле.
PS: Хотя конечно может гении информатики меня поправят (читать как разнесут в пух и прах)
А на железке это дешифратором наверно можно сделать.