Сначала переводим числа 6 и 4 в 2-ную систему. Для этого делим всё время на 2 с остатком:
6 / 2 = 3 (остаток 0)
3 / 2 = 1 (остаток 1)
Выписываем последний результат деления (1) и все остатки, начиная с конца:
1 1 0
Таким образом:
Аналогично:
Умножаем: 110 х 100 = 11000
Тут действует такое же правило, что и для обычных десятичных чисел: чтобы умножить на 10, 100, 1000, 10000 и т.д., достаточно просто дописать справа столько нулей, сколько их есть в этом множителе. А вобще умножение двоичных чисел выполняется точно так же, как и десятичных - если нужно, то в столбик. Двоичную "Таблицу умножения" очень легко выучить наизусть:
0 х 0 = 0
0 х 1 = 0
1 х 0 = 0
1 х 1 = 1
Когда при умножении в столбик мы складываем промежуточные результаты, правила тоже простые:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 0
1 + 1 = 10
(смотри пример умножения на прикреплённом рисунке)
import datetime
now = datetime.datetime.now()
now = str(now)
now = now.replace('-', '.')
now = now[:10]
now = now[5:]
a = [['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.18'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'],['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12'], ['ФАМИЛИЯ', 'ИМЯ', 'ОТЧЕСТВО', '1999.12.12']]
b = []
for i in range(len(a)):
item = a[i][3][5:]
if item == now:
b.append(a[i])
print('СЕГОДНЯ ДЕНЬ РОЖДЕНИЕ У:')
for j in range(len(b)):
print(b[j][0], b[j][1], b[j][2])