У меня есть программа, которая работает с генетическими алгоритмами и генерирует 8-битную двоичную строку (хромосома, состоящая из восьми генов).
Я хотел бы знать, как мне поступить с изменением / переключением первого гена / бита.
Например:
Original chromosome:
01010101
Changed chromosome:
11010101 //First bit has been changed
Если первый бит имеет значение 1
, я хотел бы «перевернуть» его, чтобы сделать его 0
; и, очевидно, если первый бит в массиве / хромосоме равен 0
, я бы хотел перевернуть его на 1
.
Спасибо.