Например,
алгоритмом Нарайана Пандита, который на каждой итерации меняет два элемента между собой местами. Реализация
на JavaScript для примера.
В вашей задаче, учитывая, что это не произвольные массивы строк, а биты, быстрее, наверное, подряд перебирать числа от 0 до 63 и считать включённые биты.