C ++ M битов перестановки числа - PullRequest
1 голос
/ 15 декабря 2009

Я ищу функцию, которая получает на вход число x (при условии 15), количество бит d (4) и количество перестановок m (2). Выходными данными функции будут все числа, которые являются m перестановками битов из заданного числа x при d битах длины.

Для заданных чисел ( x = 15, d = 4 и m = 2) мы получаем 6=\binom{4}{2} комбинацию другого номера.

Я хотел бы знать, существует ли такая функция уже в C ++ STD или boost, и т. Д., Которая возвращает мне эти числа ...

P.S. если вы знаете функцию, которая возвращает номера всех перестановок до m .

привет

1 Ответ

2 голосов
/ 15 декабря 2009

Я снова посмотрел на комментарий @Gregory Pakosz и обнаружил, что это не так уж плохое направление для начала. Я попытался реализовать предложенный код из Bit Twiddling Hacks в моей программе, и после некоторых ошибок в моем коде это сработало.

Спасибо

...