MK2266 Ответов: 2

Некоторые методы в C++


в этом фрагменте кода используется техника битовой маскировки и операция XOR, не могли бы вы объяснить мне об этих методах и каковы альтернативные способы вместо этих методов?

Что я уже пробовал:

some techniques in C++

2 Ответов

Рейтинг:
1

Patrice T

Без контекста ваш код бессмыслен, у нас нет способа узнать, что происходит, потому что он зависит от другого фрагмента кода, который мы не знаем.
Когда вы публикуете фрагмент кода, это хорошая идея, чтобы опубликовать автономный фрагмент кода (код, который мы можем скомпилировать и запустить)(это включает в себя данные).
-----
Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.

for (i = 1; i <= n; i++){
  if (i == pow(2, p)){
    Final[i] = 0;
    p++;
  }
  else{
    Final[i] = b[j];
    j++;
  }
}

for (i = 1; i < pow(2, r); i = pow(2, x)){
  for (j = 1; j <= n; j++){
    if ((i&j) == i)
      Final[i] ^= Final[j];
  }
  x++;
  std::cout << std::endl << i <<" " <<Final[i] ;
}


Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]


Rick York

Я согласен. Правильное отступление может очень помочь. Однако я не считаю ни один из ваших фрагментов примерами правильного отступа. Что касается меня, то ваши примеры ничем не лучше его. Конечно, мнения расходятся.

Patrice T

Привет Рик,
Мои примеры-это просто фрагменты кода OP с минимальными изменениями, чтобы получить правильный отступ по отношению к стилю кодирования OP как можно больше.
Что вы считаете правильным отступом для этого кода ?

Рейтинг:
0

CPallini

Цитата:
для (i = 1; i <= n; i++){
if (i == pow(2, p)){ Final[i] = 0;
p++;}
еще{
Final[i] = b[j];
Дж++;
}}

Нет XOR используется в приведенном выше фрагменте кода.

Вы должны понимать, что мы (или, по крайней мере, я) понятия не имеем о цели такого (неполного) кода.