с днем рождения в двоичном коде
Как объяснять двоичную систему счисления
Кто-то только входит в IT-мир, кто-то объясняет информатику своему чаду.
Довольно быстро вы обнаружите, что не так-то просто объяснить, как работает двоичный счёт.
Это вам очевидно, что после 11 идёт 100, а новичку это ещё долго может быть непонятно.
Так вот, чтобы увеличить скорость понимания, мы решили сделать дидактический материал.
Проблема
Важно отметить, что даже распиаренный курс Гарвардского университета по компьютерным наукам «CS50» не помогает.
Парень из американского университета просто заявляет, что «нуль — это нуль», «один — это один», а потом идёт 10, а потом 11. Понятно? Думаю, нет. Вот спросите кого-то, кто не программист, а каким будет следующее число — высока вероятность, что он не сможет ответить. Слишком быстро проскочили идею о переносе разряда.
То же самое касается школьных методов перевода: во-первых, методы эти академически сухи, во-вторых, не интуитивны — например, не очевидно, почему после каскадного деления на 2 нужно ставить биты задом наперёд.
А если непонятно, то и не интересно. А если нет интереса, то и запоминается с трудом.
Мы это всё учли, и решили сделать интересное и постепенное объяснение.
Что мы предлагаем
Сначала нужно объяснить, как вообще работает обычная десятичная система счисления — и про конечный «алфавит» цифр, и про идею переноса разряда. Так развивается понимание принципа «системы счисления».
Только потом можно переходить к идее двоичной системы — и вот обучаемый уже медленно, но довольно уверенно говорит «1, 10, 11, 100».
Далее, мы решили попробовать совсем не школьный метод — объяснение двоичного счёта на пальцах: это когда загнутый палец это 0, а разогнутый это 1.
Я проверял это на подростках: показываешь им: «это 1, это 2, это 3 — теперь покажите мне 4». И весь класс сосредоточенно, медленно показывает средние пальцы. Отличницы в эсхатологическом восторге, задние парты тыкают друг другу в лицо и кричат «на тебе четвёрку!».
Провокативно? Да. Запоминается? 100%.
Теперь, когда тема стала «своей», можно переходить к теме перевода чисел из одной системы счисления в другую — начать лучше с классического школьного сухого перевода (если честно, то больше чтобы постращать).
А уже потом с помощью анимации объяснить идею перевода прямо на пальцах, и потом опять же на пальцах пересчитать число 132 в средние пальцы уже на обеих руках.
На десерт показываем, где двоичная и 16-ричная системы применяется в реальной жизни.
Двоичная система — это например QR-коды вокруг нас.
А 16-ричная система это в основном коды цветов в CSS и хеши разных стилей, от MD5 до UUID.
Итак, вот весь пакет видео-уроков (они бесплатные, в Ютубе):
«Рыцарям клавиатур и бинарного кода»: как российские компании поздравили программистов с праздником
Каждый 256-й день в году в России отмечают профессиональный праздник — День программиста. Это число отражает количество разных значений, которые можно выразить с помощью восьмиразрядного байта. Редакция vc.ru выяснила, как бренды отметили эту дату в России.
Rambler&Co
Rambler&Co выпустила ролик о своей команде с тестом на проницательность. Камера перемещается по офису компании и останавливается на разных сотрудниках. В фирме предложили угадать, кто из представителей бренда является программистом, а кто — нет.
На экране каждый раз появляется описание человека, например: «Холит и лелеет свою бороду, любит гаджеты Apple, выступает на конференциях». Если сотрудник — не программист, зритель может увидеть надпись: «Для него Python — змея, а Java — остров».
В конце теста появляется результат и ссылка на страницу с вакансиями:
«Яндекс»
«Яндекс» выпустила видео с четырьмя своими программистами, которые максимально просто объясняют, чем они занимаются. Старший разработчик Константин Лахман рассказывает, как он «учит» нейронные сети понимать мир. Специалист группы бэкенд-разработки Алексей Борискин объясняет работу системы внутренних коммуникаций, которая помогает сотрудникам быстро решать свои вопросы и получать доступ к нужным документам.
Microsoft Россия
Microsoft опубликовала три вопроса по программированию. Пользователи, которые справятся с задачами быстрее остальных, могут получить виртуальное поздравление от корпорации.
Электронный справочник «2ГИС» перевел 256 день года в двоичную систему счисления.
«Юлмарт»
Компания поздравила программистов, назвав их «скромными и безотказными рыцарями клавиатур и бинарного кода». Представители онлайн-магазина подготовили идеи для подарков героям праздника, например, наушники Cooler Master Pulse-R и шампунь MilMIl Green Apple Grease Hair.
«Связной»
Компания предложила подписчикам самим определить оптимальные подарки и пошутила над программистами.
«Мегафон»
Оператор попросил аудиторию соцсетей ответить, что удобнее — сайт или приложение.
World of Tanks
Игровой бренд опубликовал стихотворное поздравление в честь праздника.
«Битрикс»
«Битрикс» пожелал программистам «крепкого здоровья, светлого разума, красивого кода и довольных работодателей».
Университет «Иннополис»
«Иннополис» опубликовал фото со студентами, которые проходят отбор в университет.
Acronis
В Acronis отметили, что в компании этот праздник ждут так же сильно, как Новый год.
Информатика. 7 класс
Конспект урока
Кодирование информации. Двоичный код
Перечень вопросов, рассматриваемых в теме:
Дискретизация информации – процесс преобразования информации из непрерывной формы представления в дискретную. Чтобы представить информацию в дискретной форме, её следует выразить с помощью символов какого-нибудь естественного или формального языка.
Алфавит языка – конечный набор отличных друг от друга символов, используемых для представления информации. Мощность алфавита – это количество входящих в него символов.
Алфавит, содержащий два символа, называется двоичным алфавитом. Представление информации с помощью двоичного алфавита называют двоичным кодированием. Двоичное кодирование универсально, так как с его помощью может быть представлена любая информация.
1. Босова Л. Л. Информатика: 7 класс. // Босова Л. Л., Босова А. Ю. – М.: БИНОМ, 2017. – 226 с.
Теоретический материал для самостоятельного изучения
Для решения своих задач человеку часто приходится преобразовывать имеющуюся информацию из одной формы представления в другую. Например, при чтении вслух происходит преобразование информации из дискретной (текстовой) формы в непрерывную (звук). Во время диктанта на уроке русского языка, наоборот, происходит преобразование информации из непрерывной формы (голос учителя) в дискретную (записи учеников).
Информация, представленная в дискретной форме, значительно проще для передачи, хранения или автоматической обработки. Поэтому в компьютерной технике большое внимание уделяется методам преобразования информации из непрерывной формы в дискретную.
Дискретизация информации – процесс преобразования информации из непрерывной формы представления в дискретную.
Рассмотрим суть процесса дискретизации информации на примере.
На метеорологических станциях имеются самопишущие приборы для непрерывной записи атмосферного давления. Результатом их работы являются барограммы – кривые, показывающие, как изменялось давление в течение длительных промежутков времени. Одна из таких кривых, вычерченная прибором в течение семи часов проведения наблюдений, показана на рисунке 1.
На основании полученной информации можно построить таблицу, содержащую показания прибора в начале измерений и на конец каждого часа наблюдений.
Полученная таблица даёт не совсем полную картину того, как изменялось давление за время наблюдений: например, не указано самое большое значение давления, имевшее место в течение четвёртого часа наблюдений. Но если занести в таблицу значения давления, наблюдаемые каждые полчаса или 15 минут, то новая таблица будет давать более полное представление о том, как изменялось давление.
Таким образом, информацию, представленную в непрерывной форме (барограмму, кривую), мы с некоторой потерей точности преобразовали в дискретную форму (таблицу).
В дальнейшем вы познакомитесь со способами дискретного представления звуковой и графической информации.
В общем случае, чтобы представить информацию в дискретной форме, её следует выразить с помощью символов какого-нибудь естественного или формального языка. Таких языков тысячи. Каждый язык имеет свой алфавит.
Алфавит – конечный набор отличных друг от друга символов (знаков), используемых для представления информации. Мощность алфавита – это количество входящих в него символов (знаков).
Алфавит, содержащий два символа, называется двоичным алфавитом (рис. 3). Представление информации с помощью двоичного алфавита называют двоичным кодированием. Закодировав таким способом информацию, мы получим её двоичный код.
Рассмотрим в качестве символов двоичного алфавита цифры 0 и 1. Покажем, что любой алфавит можно заменить двоичным алфавитом. Прежде всего, присвоим каждому символу рассматриваемого алфавита порядковый номер. Номер представим с помощью двоичного алфавита. Полученный двоичный код будем считать кодом исходного символа.
Если мощность исходного алфавита больше двух, то для кодирования символа этого алфавита потребуется не один, а несколько двоичных символов. Другими словами, порядковому номеру каждого символа исходного алфавита будет поставлена в соответствие цепочка (последовательность) из нескольких двоичных символов. Правило получения двоичных кодов для символов алфавита мощностью больше двух можно представить схемой на рисунке.
Двоичные символы (0,1) здесь берутся в заданном алфавитном порядке и размещаются слева направо. Двоичные коды (цепочки символов) читаются сверху вниз. Все цепочки (кодовые комбинации) из двух двоичных символов позволяют представить четыре различных символа произвольного алфавита:
Цепочки из трёх двоичных символов получаются дополнением двухразрядных двоичных кодов справа символом 0 или 1. В итоге кодовых комбинаций из трёх двоичных символов получается 8 – вдвое больше, чем из двух двоичных символов:
Соответственно, четырёхразрядный двоичный код позволяет получить 16 кодовых комбинаций, пятиразрядный – 32, шестиразрядный – 64 и т. д.
Длину двоичной цепочки – количество символов в двоичном коде – называют разрядностью двоичного кода.
Обратите внимание, что:
32 = 2 ∙ 2 ∙ 2 ∙ 2 ∙ 2 и т. д.
Здесь количество кодовых комбинаций представляет собой произведение некоторого количества одинаковых множителей, равного разрядности двоичного кода.
Если количество кодовых комбинаций обозначить буквой N, а разрядность двоичного кода – буквой i, то выявленная закономерность в общем виде будет записана так:
В математике такие произведения записывают в виде:
Запись 2 i читают так: «2 в i-й степени».
Задача. Вождь племени Мульти поручил своему министру разработать двоичный код и перевести в него всю важную информацию. Двоичный код какой разрядности потребуется, если алфавит, используемый племенем Мульти, содержит 16 символов? Выпишите все кодовые комбинации.
Чтобы выписать все кодовые комбинации из четырёх 0 и 1, воспользуемся схемой на рис. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111.
Универсальность двоичного кодирования
В начале нашей беседы вы узнали, что информация, представленная в непрерывной форме, может быть выражена с помощью символов некоторого естественного или формального языка. В свою очередь, символы произвольного алфавита могут быть преобразованы в двоичный код. Таким образом, с помощью двоичного кода может быть представлена любая информация на естественных и формальных языках, а также изображения и звуки (рис. 6). Это и означает универсальность двоичного кодирования.
Двоичные коды широко используются в компьютерной технике, требуя только двух состояний электронной схемы – «включено» (это соответствует цифре 1) и «выключено» (это соответствует цифре 0).
Простота технической реализации – главное достоинство двоичного кодирования. Недостаток двоичного кодирования – большая длина получаемого кода.
Равномерные и неравномерные коды
Различают равномерные и неравномерные коды. Равномерные коды в кодовых комбинациях содержат одинаковое число символов, неравномерные – разное.
Выше мы рассмотрели равномерные двоичные коды.
Примером неравномерного кода может служить азбука Морзе, в которой для каждой буквы и цифры определена последовательность коротких и длинных сигналов. Так, букве Е соответствует короткий сигнал («точка»), а букве Ш – четыре длинных сигнала (четыре «тире»). Неравномерное кодирование позволяет повысить скорость передачи сообщений за счёт того, что наиболее часто встречающиеся в передаваемой информации символы имеют самые короткие кодовые комбинации.
Разбор решения заданий тренировочного модуля
№1.Тип задания: ввод с клавиатуры пропущенных элементов в тексте
Переведите десятичное число 273 в двоичную систему счисления.
Воспользуемся алгоритмом перевода целых чисел из системы с основанием p в систему с основанием q:
1. Основание новой системы счисления выразить цифрами исходной системы счисления и все последующие действия производить в исходной системе счисления.
2. Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы счисления до тех пор, пока не получим частное, меньшее делителя.
3. Полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
4. Составить число в новой системе счисления, записывая его, начиная с последнего остатка.
Ответ: 27310= 100010001.
№2. Тип задания: единичный / множественный выбор.
Четыре буквы латинского алфавита закодированы кодами различной длины:
Двоичное счисление на пальцах
Все знают, что компьютеры состоят из единиц и нулей. Но что это значит на самом деле?
Если у вас в школе была информатика, не исключено, что там было упражнение на перевод обычных чисел в двоичную систему и обратно. Маловероятно, что кто-то вам объяснял практический смысл этой процедуры и откуда вообще берётся двоичное счисление. Давайте закроем этот разрыв.
Эта статья не имеет практической ценности — читайте её просто ради интереса к окружающему миру. Если нужны практические статьи, заходите в наш раздел «Где-то баг», там каждая статья — это практически применимый проект.
Отличный план
Чтобы объяснить всё это, нам понадобится несколько тезисов:
Система записи — это шифр
Если у нас есть девять коров, мы можем записать их как 🐄🐄🐄🐄🐄🐄🐄🐄🐄 или как 9 × 🐄.
Почему 9 означает «девять»? И почему вообще есть такое слово? Почему такое количество мы называем этим словом? Вопрос философский, и короткий ответ — нам нужно одинаково называть числа, чтобы друг друга понимать. Слово «девять», цифра 9, а также остальные слова — это шифр, который мы выучили в школе, чтобы друг с другом общаться.
Допустим, к нашему стаду прибиваются еще 🐄🐄🐄. Теперь у нас 🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄 — двенадцать коров, 12. Почему мы знаем, что 12 — это «двенадцать»? Потому что мы договорились так шифровать числа.
Нам очень легко расшифровывать записи типа 12, 1920, 100 500 и т. д. — мы к ним привыкли, мы учили это в школе. Но это шифр. 12 × 🐄 — это не то же самое, что 🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄. Это некая абстракция, которой мы пользуемся, чтобы упростить себе счёт.
Мы привыкли шифровать десятью знаками
У нас есть знаки 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 — всего десять знаков. Этим числом знаков мы шифруем количество единиц, десятков, сотен, тысяч и так далее.
Мы договорились, что нам важен порядок записи числа. Мы знаем, что самый правый знак в записи означает число единиц, следующий знак (влево) означает число десятков, потом сотен и далее.
Например, перед нами число 19 547. Мы знаем, что в нём есть:
Если приглядеться, то каждый следующий разряд числа показывает следующую степень десятки:
Нам удобно считать степенями десятки, потому что у нас по десять пальцев и мы с раннего детства научились считать до десяти.
Система записи — это условность
Представим бредовую ситуацию: у нас не 10 пальцев, а 6. И в школе нас учили считать не десятками, а шестёрками. И вместо привычных цифр мы бы использовали знаки ØABCDE. Ø — это по-нашему ноль, A — 1, B — 2, E — 5.
Вот как выглядели бы привычные нам цифры в этой бредовой системе счисления:
0 — Ø 1 — A 2 — B 3 — C 4 — D 5 — E | 6 — AØ 7 — AA 8 — AB 9 — AC 10 — AD 11 — AE | 12 — BØ 13 — BA 14 — BB 15 — BC 16 — BD 17 — BE | 18 — CØ 19 — CA 20 — CB 21 — CC 22 — CD 23 — CE | 24 — DØ 25 — DA 26 — DB 27 — DC 28 — DD 29 — DE | 30 — EØ 31 — EA 32 — EB 33 — EC 34 — ED 35 — EE | 36 — AØØ 37 — AØA 38 — AØB 39 — AØC 40 — AØD 41 — AØE |
В этой системе мы считаем степенями шестёрки. Число ABADØ можно было бы перевести в привычную нам десятичную запись вот так:
A × 6 4 = 1 × 1296 = 1296
B × 6 3 = 2 × 216 = 432
1296 + 432 + 36 + 24 + 0 = 1788. В нашей десятичной системе это 1788, а у людей из параллельной вселенной это ABADØ, и это равноценно.
Выглядит бредово, но попробуйте вообразить, что у нас в сумме всего шесть пальцев. Каждый столбик — как раз шесть чисел. Очень легко считать в уме. Если бы нас с детства учили считать шестёрками, мы бы спокойно выучили этот способ и без проблем всё считали. А счёт десятками вызывал бы у нас искреннее недоумение: «Что за бред, считать числом AD? Гораздо удобнее считать от Ø до E!»
То, как мы шифруем и записываем числа, — это следствие многовековой традиции и физиологии. Вселенной, космосу, природе и стадам коров глубоко безразлично, что мы считаем степенями десятки. Природа не укладывается в эту нашу систему счёта.
Двоичная система (тоже нормальная)
Внутри компьютера работают транзисторы. У них нет знаков 0, 1, 2, 3… 9. Транзисторы могут быть только включёнными и выключенными — обозначим их 💡 и ⚫.
Мы можем научить компьютер шифровать наши числа этими транзисторами так же, как шестипалые люди шифровали наши числа буквами. Только у нас будет не 6 букв, а всего две: 💡 и ⚫. И выходит, что в каждом разряде будет стоять не число десяток в разной степени, не число шестёрок в разной степени, а число… двоек в разной степени. И так как у нас всего два знака, то получается, что мы можем обозначить либо наличие двойки в какой-то степени, либо отсутствие:
9 — 💡 ⚫⚫ 💡
10 — 💡 ⚫ 💡 ⚫
11 — 💡 ⚫ 💡 💡
12 — 💡 💡 ⚫⚫
13 — 💡 💡 ⚫ 💡
14 — 💡 💡 💡 ⚫
15 — 💡 💡 💡 💡
17 — 💡 ⚫⚫⚫ 💡
18 — 💡 ⚫⚫ 💡 ⚫
19 — 💡 ⚫⚫ 💡 💡
20 — 💡 ⚫ 💡 ⚫⚫
21 — 💡 ⚫ 💡 ⚫ 💡
21 — 💡 ⚫ 💡 💡 ⚫
23 — 💡 ⚫ 💡 💡 💡
24 — 💡 💡 ⚫⚫⚫
25 — 💡 💡 ⚫⚫ 💡
26 — 💡 💡 ⚫ 💡 ⚫
27 — 💡 💡 ⚫ 💡 💡
28 — 💡 💡 💡 ⚫⚫
29 — 💡 💡 💡 ⚫ 💡
30 — 💡 💡 💡 💡 ⚫
31 — 💡 💡 💡 💡 💡
33 — 💡 ⚫⚫⚫⚫ 💡
34 — 💡 ⚫⚫⚫ 💡 ⚫
35 — 💡 ⚫⚫⚫ 💡 💡
36 — 💡 ⚫⚫ 💡 ⚫⚫
37 — 💡 ⚫⚫ 💡 ⚫ 💡
38 — 💡 ⚫⚫ 💡 💡 ⚫
39 — 💡 ⚫⚫ 💡 💡 💡
40 — 💡 ⚫ 💡 ⚫⚫⚫
41 — 💡 ⚫ 💡 ⚫⚫ 💡
42 — 💡 ⚫ 💡 ⚫ 💡 ⚫
43 — 💡 ⚫ 💡 ⚫ 💡 💡
44 — 💡 ⚫ 💡 💡 ⚫⚫
45 — 💡⚫💡💡⚫💡
46 — 💡⚫💡💡💡⚫
47 — 💡⚫💡💡💡💡
48 — 💡💡⚫⚫⚫⚫
49 — 💡💡⚫⚫⚫💡
50 — 💡💡⚫⚫💡⚫
51 — 💡💡⚫⚫💡💡
52 — 💡💡⚫💡⚫⚫
53 — 💡💡⚫💡⚫💡
54 — 💡💡⚫💡💡⚫
55 — 💡💡⚫💡💡💡
56 — 💡💡💡⚫⚫⚫
57 — 💡💡💡⚫⚫💡
58 — 💡💡💡⚫💡⚫
59 — 💡💡💡⚫💡💡
60 — 💡💡💡💡⚫⚫
61 — 💡💡💡💡⚫💡
62 — 💡💡💡💡💡⚫
63 — 💡💡💡💡💡💡
Если перед нами число 💡 ⚫💡⚫⚫ 💡💡⚫⚫, мы можем разложить его на разряды, как в предыдущих примерах:
256 + 0 + 64 + 0 + 0 + 8 + 4 + 0 + 0 = 332
Получается, что десятипалые люди могут записать это число с помощью цифр 332, а компьютер с транзисторами — последовательностью транзисторов 💡⚫💡⚫⚫ 💡💡⚫⚫.
Если теперь заменить включённые транзисторы на единицы, а выключенные на нули, получится запись 1 0100 1100. Это и есть наша двоичная запись того же самого числа.
Почему говорят, что компьютер состоит из единиц и нулей (и всё тлен)
Инженеры научились шифровать привычные для нас числа в последовательность включённых и выключенных транзисторов.
Дальше эти транзисторы научились соединять таким образом, чтобы они умели складывать зашифрованные числа. Например, если сложить 💡⚫⚫ и ⚫⚫💡, получится 💡⚫💡. Мы писали об этом подробнее в статье о сложении через транзисторы.
Дальше эти суммы научились получать супербыстро. Потом научились получать разницу. Потом умножать. Потом делить. Потом всё это тоже научились делать супербыстро. Потом научились шифровать не только числа, но и буквы. Научились их хранить и считывать. Научились шифровать цвета и координаты. Научились хранить картинки. Последовательности картинок. Видео. Инструкции для компьютера. Программы. Операционные системы. Игры. Нейросети. Дипфейки.
И всё это основано на том, что компьютер умеет быстро-быстро складывать числа, зашифрованные как последовательности включённых и выключенных транзисторов.
При этом компьютер не понимает, что он делает. Он просто гоняет ток по транзисторам. Транзисторы не понимают, что они делают. По ним просто бежит ток. Лишь люди придают всему этому смысл.
Когда человека не станет, скорость света будет по-прежнему 299 792 458 метров в секунду. Но уже не будет тех, кто примется считать метры и секунды. Такие дела.
Двоичное кодирование.
в Компьютеры 23.03.2020 0 184 Просмотров
Двоичное кодирование – это тип кода, используемый в основном для программирования компьютеров на самом базовом уровне. Он состоит из системы единиц и нулей, предназначенной для представления «истинного» или «ложного» значения в логических операциях. Двоичное кодирование было разработано Клодом Шеннаном в 1930-х годах с использованием переключателей.
Двоичные данные – это необработанные данные, которые используются почти на всех компьютерах, но большинство пользователей компьютеров не взаимодействуют с ними напрямую. Компьютер читает двоичный код и переводит его в данные, полезные для пользователя. Коды хранятся по-разному в зависимости от типа объекта. Например, коды могут храниться по напряжению, просто обозначая, включен ли объект, имеет ли он напряжение или выключен. CD-ROM используют темные пятна на блестящей поверхности для обозначения «истинных» или «ложных» значений, жёсткие диски используют магнетизм, а память использует электрический заряд.
Двоичное кодирование опирается на биты, наименьшую единицу кодирования. Подобно переключателю, который может быть либо выключен, либо включен, бит может иметь значение либо один, либо ноль. Более знакомые единицы обработки получены из бита. Байт составляет восемь битов, килобайт имеет 1000 байтов, а мегабайт имеет 1000 килобайт. Чем больше число битов, тем больше комбинаций может быть в битах, тем больше информации можно сохранить.
Например, два бита имеют четыре состояния. Оба могут быть выключены, оба могут быть включены, или один может быть выключен, и один может быть включен. В двоичном виде эти комбинации записываются как 00, 01, 10, 11. Количество состояний группы битов можно найти по выражению 2n, где n – количество битов.
Поскольку для каждого бита есть только два значения, с ними проще работать, чем с другими процессами компьютерного кодирования. Группы битов используются для представления различной информации. Байт часто представляет буквенный символ. Например, буква «А», записанная в двоичном виде – «01000001».
Хотя чаще всего используется для программирования компьютеров, двоичное кодирование также используется в генетических алгоритмах для определения пересечения наследственности между родителями и потомками. Биты назначаются каждому родителю для представления части их генетического кода. Затем случайные или конкретные биты копируются или инвертируются для получения кода потомства.