ИКБО-25-22

Вариант №1

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.
0 5 6 15 16 22 Z1 Z2 Z3 23 24 25 30 31 37 38 44 Z3 Z4 Z5 Z6

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('28855289900247')
('23', '947', '333', '50', '124', '104')

>>> main('30016601441150')
('62', '781', '221', '36', '25', '109')

>>> main('32062294845555')
('51', '929', '433', '10', '82', '116')

>>> main('33678347237682')
('50', '484', '492', '44', '66', '122')

Вариант №2

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.
0 7 8 11 12 16 17 23 24 27 F1 F2 F3 F5

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(1166323)
{'F1': '243', 'F2': '11', 'F3': '28', 'F5': '0'}

>>> main(123735251)
{'F1': '211', 'F2': '12', 'F3': '0', 'F5': '7'}

>>> main(251928537)
{'F1': '217', 'F2': '15', 'F3': '1', 'F5': '15'}

>>> main(115978105)
{'F1': '121', 'F2': '15', 'F3': '26', 'F5': '6'}

Вариант №3

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

0 8 9 10 11 18 19 R1 R2 R3 R4 20 27 28 33 34 38 R4 R5 R6

Выходные данные:

Десятичная строка.

0 8 9 17 18 19 R1 R4 R5 20 23 24 28 29 30 31 38 R5 R6 R2 R3

Тесты:

>>> main(446139017796)
'355307355204'

>>> main(174709002121)
'536504655241'

>>> main(391726059960)
'90576858552'

>>> main(440767912303)
'41232627055'

Вариант №4

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 8 9 10 11 17 18 19 25 N1 N3 N4 N5

Тесты:

>>> main([('N1', 241), ('N3', 18), ('N4', 0), ('N5', 124)])
'65048817'

>>> main([('N1', 366), ('N3', 72), ('N4', 0), ('N5', 56)])
'29507950'

>>> main([('N1', 414), ('N3', 6), ('N4', 1), ('N5', 8)])
'4469150'

>>> main([('N1', 426), ('N3', 123), ('N4', 0), ('N5', 29)])
'15456682'

Вариант №5

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.
0 4 5 7 8 11 12 14 15 18 Q1 Q2 Q4 Q5

Тесты:

>>> main((5, 4, 2, 13))
'0x6a085'

>>> main((1, 0, 4, 3))
'0x1c001'

>>> main((25, 6, 4, 3))
'0x1c0d9'

>>> main((11, 5, 7, 11))
'0x5f0ab'

Вариант №6

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.
0 3 4 9 10 14 15 17 L1 L2 L3 18 22 23 24 25 34 L5 L6

Тесты:

>>> main({'L1': 12, 'L2': 54, 'L3': 31, 'L5': 0, 'L6': 57})
'0x72007f6c'

>>> main({'L1': 7, 'L2': 11, 'L3': 26, 'L5': 1, 'L6': 300})
'0x2588068b7'

>>> main({'L1': 0, 'L2': 22, 'L3': 10, 'L5': 3, 'L6': 76})
'0x99802960'

>>> main({'L1': 7, 'L2': 13, 'L3': 9, 'L5': 3, 'L6': 949})
'0x76b8024d7'

Вариант №7

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

0 1 2 10 11 12 19 O1 O2 O3 O4

Выходные данные:

Шестнадцатиричная строка.

0 1 2 10 11 18 19 O1 O2 O4 O3

Тесты:

>>> main('864660')
'0x69994'

>>> main('144998')
'0x11e66'

>>> main('337039')
'0x2948f'

>>> main('770603')
'0x5e22b'

Вариант №8

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

0 5 6 11 12 16 Z1 Z2 Z3 17 19 20 28 29 32 Z3 Z4 Z5

Выходные данные:

Целое.

0 7 8 11 12 16 Z3 Z5 Z1 17 18 26 27 32 Z1 Z4 Z2

Тесты:

>>> main('0x495c8183')
844378824

>>> main('0x3351c090')
349503772

>>> main('0x1f9f2d4d')
7245975794

>>> main('0xb20904e5')
2625787280

Вариант №9

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.
0 1 2 3 4 5 11 12 14 15 18 F1 F2 F3 F4 F5 F6

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('0x73796')
('2', '1', '1', '60', '3', '14')

>>> main('0x33444')
('0', '1', '0', '34', '3', '6')

>>> main('0x7104b')
('3', '2', '0', '2', '1', '14')

>>> main('0x6b19c')
('0', '3', '1', '12', '3', '13')

Вариант №10

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 4 5 12 13 17 18 20 21 22 28 B2 B3 B4 B5 B6

Тесты:

>>> main((228, 30, 1, 0, 103))
'432528512'

>>> main((200, 4, 4, 0, 42))
'177248512'

>>> main((17, 25, 0, 0, 86))
'360915488'

>>> main((141, 25, 6, 1, 12))
'54210976'

Вариант №11

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Шестнадцатиричная строка.
0 1 2 10 11 15 16 18 19 25 26 28 H1 H2 H3 H4 H5 H6

Тесты:

>>> main(('0x3', '0x12a', '0xd', '0x4', '0x5b', '0x5'))
'0x16dc6cab'

>>> main(('0x0', '0xe2', '0x16', '0x7', '0x31', '0x4'))
'0x118fb388'

>>> main(('0x3', '0x1b7', '0x19', '0x4', '0x1d', '0x4'))
'0x10eccedf'

>>> main(('0x3', '0x1c6', '0x14', '0x0', '0x2d', '0x3'))
'0xd68a71b'

Вариант №12

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.
0 5 6 12 13 14 15 22 G1 G2 G3 G4

Тесты:

>>> main([('G1', '22'), ('G2', '114'), ('G3', '0'), ('G4', '42')])
'1383574'

>>> main([('G1', '44'), ('G2', '42'), ('G3', '3'), ('G4', '206')])
'6777516'

>>> main([('G1', '54'), ('G2', '20'), ('G3', '2'), ('G4', '154')])
'5063990'

>>> main([('G1', '21'), ('G2', '100'), ('G3', '1'), ('G4', '28')])
'932117'

Вариант №13

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 5 6 15 16 25 26 29 N1 N2 N3 N4

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Тесты:

>>> main(143802392)
(24, 256, 146, 2)

>>> main(930853138)
(18, 708, 891, 13)

>>> main(1018805429)
(53, 754, 185, 15)

>>> main(340098289)
(49, 499, 69, 5)

Вариант №14

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

0 1 8 9 15 16 T1 T2 T4

Выходные данные:

Шестнадцатиричная строка.

0 7 8 9 15 16 T2 T4 T1

Тесты:

>>> main('90647')
'0x1010b'

>>> main('53145')
'0x100cc'

>>> main('3328')
'0x80'

>>> main('64223')
'0x1006f'

Вариант №15

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 8 9 14 15 16 I1 I2 I3 17 19 20 22 23 32 I3 I5

Тесты:

>>> main((13, 63, 6, 5))
'42171917'

>>> main((396, 22, 7, 695))
'5830323596'

>>> main((361, 44, 17, 770))
'6459808105'

>>> main((245, 31, 30, 591))
'4958666485'

Вариант №16

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

0 2 3 11 12 18 19 20 21 29 S1 S2 S3 S4 S5

Выходные данные:

Шестнадцатиричная строка.

0 2 3 11 12 20 21 22 23 29 S1 S5 S2 S4 S3

Тесты:

>>> main('0xea39e98')
'0x1c9d33a8'

>>> main('0xd3d980d')
'0x2cf0134d'

>>> main('0x68f7b94')
'0x3bb721a4'

>>> main('0x322ea224')
'0x35244c8c'

Вариант №17

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.
0 3 4 7 8 17 18 22 I2 I3 I4

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(1210838)
[('I2', '13'), ('I3', '633'), ('I4', '4')]

>>> main(3803107)
[('I2', '14'), ('I3', '519'), ('I4', '14')]

>>> main(2459440)
[('I2', '3'), ('I3', '391'), ('I4', '9')]

>>> main(920885)
[('I2', '3'), ('I3', '525'), ('I4', '3')]

Вариант №18

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Шестнадцатиричная строка.
0 1 2 3 4 10 11 14 15 18 19 20 P2 P3 P4 P5 P6

Тесты:

>>> main([('P2', '2'), ('P3', '66'), ('P4', '10'), ('P5', '13'), ('P6', '3')])
'0x1ed428'

>>> main([('P2', '3'), ('P3', '62'), ('P4', '8'), ('P5', '13'), ('P6', '3')])
'0x1ec3ec'

>>> main([('P2', '0'), ('P3', '110'), ('P4', '8'), ('P5', '14'), ('P6', '1')])
'0xf46e0'

>>> main([('P2', '0'), ('P3', '70'), ('P4', '1'), ('P5', '12'), ('P6', '0')])
'0x60c60'

Вариант №19

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 6 7 16 17 18 24 25 30 N1 N2 N3 N4

Тесты:

>>> main((88, 357, 1, 65))
17216216

>>> main((29, 605, 0, 91))
23932573

>>> main((102, 893, 1, 79))
20954854

>>> main((37, 406, 0, 12))
3197733

Вариант №20

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

0 1 2 11 12 16 17 21 I1 I2 I3 I4

Выходные данные:

Шестнадцатиричная строка.

0 1 2 6 7 11 12 21 I1 I4 I3 I2

Тесты:

>>> main(1737741)
'0x103435'

>>> main(3571161)
'0x3763ed'

>>> main(2084996)
'0x21ebc'

>>> main(3283838)
'0x2df0e6'

Вариант №21

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.
0 7 8 9 16 I1 I2 I3 17 18 19 24 25 32 33 I3 I4 I5 I6

Тесты:

>>> main([('I1', '189'), ('I2', '1'), ('I3', '539'), ('I4', '31'), ('I5', '104'), ('I6', '0')])
'3506190269'

>>> main([('I1', '74'), ('I2', '1'), ('I3', '573'), ('I4', '14'), ('I5', '126'), ('I6', '0')])
'4235492170'

>>> main([('I1', '161'), ('I2', '0'), ('I3', '821'), ('I4', '56'), ('I5', '29'), ('I6', '0')])
'1002859169'

>>> main([('I1', '141'), ('I2', '1'), ('I3', '514'), ('I4', '31'), ('I5', '204'), ('I6', '1')])
'15451555213'

Вариант №22

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 3 4 9 10 19 20 Y1 Y2 Y3 Y4

Тесты:

>>> main([('Y1', 7), ('Y2', 9), ('Y3', 346), ('Y4', 0)])
354455

>>> main([('Y1', 9), ('Y2', 2), ('Y3', 149), ('Y4', 0)])
152617

>>> main([('Y1', 13), ('Y2', 56), ('Y3', 833), ('Y4', 0)])
853901

>>> main([('Y1', 6), ('Y2', 25), ('Y3', 903), ('Y4', 1)])
1973654

Вариант №23

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.
0 6 7 15 16 18 19 M1 M2 M3 M4

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('704025')
[('M1', '25'), ('M2', '380'), ('M3', '2'), ('M4', '1')]

>>> main('123501')
[('M1', '109'), ('M2', '452'), ('M3', '1'), ('M4', '0')]

>>> main('106599')
[('M1', '103'), ('M2', '320'), ('M3', '1'), ('M4', '0')]

>>> main('833666')
[('M1', '2'), ('M2', '369'), ('M3', '4'), ('M4', '1')]

Вариант №24

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 8 9 12 13 16 17 18 25 26 29 W1 W2 W3 W4 W5 W6

Тесты:

>>> main((23, 11, 11, 1, 165, 0))
43480599

>>> main((68, 12, 8, 1, 4, 9))
605231172

>>> main((16, 9, 0, 1, 110, 8))
565842448

>>> main((55, 15, 12, 1, 82, 14))
961257015

Вариант №25

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.
0 6 7 9 10 14 15 18 P1 P2 P3 P4

Тесты:

>>> main({'P1': 75, 'P2': 0, 'P3': 29, 'P4': 0})
'0x744b'

>>> main({'P1': 48, 'P2': 1, 'P3': 25, 'P4': 1})
'0xe4b0'

>>> main({'P1': 28, 'P2': 4, 'P3': 5, 'P4': 0})
'0x161c'

>>> main({'P1': 114, 'P2': 4, 'P3': 17, 'P4': 1})
'0xc672'

Вариант №26

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Шестнадцатиричная строка.
0 4 5 10 11 17 18 22 23 25 T1 T3 T4 T5

Тесты:

>>> main(('0xb', '0xd', '0x8', '0x7'))
'0x3a0680b'

>>> main(('0x13', '0x3c', '0x1d', '0x3'))
'0x1f5e013'

>>> main(('0x4', '0x5b', '0xa', '0x4'))
'0x22ad804'

>>> main(('0x13', '0x3', '0x16', '0x4'))
'0x2581813'

Вариант №27

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Целое.
0 9 10 11 15 16 19 O1 O2 O3

Тесты:

>>> main({'O1': '608', 'O2': '0', 'O3': '2'})
4704

>>> main({'O1': '542', 'O2': '1', 'O3': '2'})
5662

>>> main({'O1': '688', 'O2': '1', 'O3': '21'})
44720

>>> main({'O1': '145', 'O2': '1', 'O3': '2'})
5265

Вариант №28

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 1 8 9 15 V1 V3 16 24 25 31 V4 V5

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('0x6797ca22')
{'V1': '0x0', 'V3': '0x65', 'V4': '0x197', 'V5': '0x33'}

>>> main('0x2945b4dc')
{'V1': '0x0', 'V3': '0x5a', 'V4': '0x145', 'V5': '0x14'}

>>> main('0xa0dd94f7')
{'V1': '0x1', 'V3': '0x4a', 'V4': '0xdd', 'V5': '0x50'}

>>> main('0xe14f277')
{'V1': '0x1', 'V3': '0x79', 'V4': '0x14', 'V5': '0x7'}

Вариант №29

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.
0 3 4 6 7 8 9 15 16 20 P1 P2 P3 P5

Тесты:

>>> main([('P1', '5'), ('P2', '3'), ('P3', '2'), ('P5', '4')])
'262453'

>>> main([('P1', '5'), ('P2', '0'), ('P3', '0'), ('P5', '24')])
'1572869'

>>> main([('P1', '5'), ('P2', '6'), ('P3', '1'), ('P5', '28')])
'1835237'

>>> main([('P1', '13'), ('P2', '1'), ('P3', '3'), ('P5', '1')])
'65949'

Вариант №30

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Шестнадцатиричная строка.
0 4 5 6 10 11 16 17 24 25 29 N1 N2 N3 N4 N5 N6

Тесты:

>>> main([('N1', '9'), ('N2', '1'), ('N3', '9'), ('N4', '43'), ('N5', '241'), ('N6', '26')])
'0x35e35a69'

>>> main([('N1', '1'), ('N2', '1'), ('N3', '17'), ('N4', '42'), ('N5', '71'), ('N6', '1')])
'0x28f5461'

>>> main([('N1', '24'), ('N2', '0'), ('N3', '5'), ('N4', '49'), ('N5', '191'), ('N6', '3')])
'0x77f8958'

>>> main([('N1', '24'), ('N2', '1'), ('N3', '12'), ('N4', '3'), ('N5', '250'), ('N6', '19')])
'0x27f41b38'

Вариант №31

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

0 8 9 10 11 12 13 22 F1 F2 F3 F4

Выходные данные:

Шестнадцатиричная строка.

0 1 2 10 11 20 21 22 F2 F1 F4 F3

Тесты:

>>> main('3347854')
'0x4cc63a'

>>> main('5269003')
'0x14182f'

>>> main('2501586')
'0x298f49'

>>> main('2957484')
'0xb4ab0'

Вариант №32

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 7 8 12 13 16 17 18 19 28 M2 M3 M4 M5 M6

Тесты:

>>> main([('M2', 18), ('M3', 9), ('M4', 0), ('M5', 1), ('M6', 558)])
292893184

>>> main([('M2', 20), ('M3', 5), ('M4', 1), ('M5', 0), ('M6', 856)])
448967680

>>> main([('M2', 23), ('M3', 4), ('M4', 1), ('M5', 1), ('M6', 546)])
286693120

>>> main([('M2', 31), ('M3', 5), ('M4', 1), ('M5', 0), ('M6', 752)])
394444544

Вариант №33

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.
0 3 4 11 12 19 20 29 O1 O2 O3

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('0x552bc')
[('O1', '12'), ('O2', '43'), ('O3', '85')]

>>> main('0x65a18')
[('O1', '8'), ('O2', '161'), ('O3', '101')]

>>> main('0x51d4d')
[('O1', '13'), ('O2', '212'), ('O3', '81')]

>>> main('0x85c04')
[('O1', '4'), ('O2', '192'), ('O3', '133')]

Вариант №34

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

0 8 9 14 15 16 F1 F3 17 24 25 26 32 F3 F4 F5

Выходные данные:

Целое.

0 9 10 16 F3 F5 17 18 23 24 32 F4 F1

Тесты:

>>> main('0x1cf562014')
335793836

>>> main('0x2203e0c0')
3221364743

>>> main('0x170c0a033')
855732609

>>> main('0x940d4916')
4664103962

Вариант №35

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.
0 1 5 6 10 11 16 U1 U2 U3 U4 17 18 19 25 26 33 U4 U5 U6

Тесты:

>>> main({'U1': 1, 'U2': 28, 'U3': 28, 'U4': 2, 'U5': 32, 'U6': 216})
'14512297785'

>>> main({'U1': 0, 'U2': 13, 'U3': 30, 'U4': 117, 'U5': 8, 'U6': 216})
'14499950490'

>>> main({'U1': 0, 'U2': 31, 'U3': 11, 'U4': 128, 'U5': 84, 'U6': 229})
'15412232958'

>>> main({'U1': 1, 'U2': 10, 'U3': 14, 'U4': 139, 'U5': 37, 'U6': 254})
'17065335701'

Вариант №36

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.
0 5 6 12 13 21 22 25 C2 C3 C4

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('15475119')
('0x6', '0x161', '0x3')

>>> main('44002996')
('0x3a', '0xfb', '0xa')

>>> main('12101652')
('0x20', '0x1c5', '0x2')

>>> main('30623841')
('0x21', '0x9a', '0x7')

Вариант №37

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.
0 9 10 18 19 E1 E2 E3 20 27 28 29 30 39 E3 E4 E5

Тесты:

>>> main([('E1', 694), ('E2', 491), ('E3', 479), ('E4', 0), ('E5', 210)])
'0x348effaeb6'

>>> main([('E1', 76), ('E2', 30), ('E3', 366), ('E4', 3), ('E5', 840)])
'0xd23b70784c'

>>> main([('E1', 803), ('E2', 381), ('E3', 120), ('E4', 2), ('E5', 530)])
'0x84a3c5f723'

>>> main([('E1', 244), ('E2', 423), ('E3', 496), ('E4', 0), ('E5', 463)])
'0x73cf869cf4'

Вариант №38

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.
0 6 7 9 10 17 18 19 20 24 25 27 G1 G2 G3 G4 G6

Тесты:

>>> main(('0x5c', '0x5', '0xb8', '0x1', '0x3'))
101114588

>>> main(('0x70', '0x3', '0xeb', '0x0', '0x7'))
235122160

>>> main(('0x15', '0x1', '0x63', '0x3', '0x1'))
34442389

>>> main(('0x78', '0x2', '0x2', '0x3', '0x6'))
202115448

Вариант №39

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.
0 6 7 9 10 17 18 21 22 23 X1 X2 X3 X4 X5

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(13654771)
{'X1': '115', 'X2': '5', 'X3': '22', 'X4': '4', 'X5': '3'}

>>> main(1828227)
{'X1': '3', 'X2': '3', 'X3': '249', 'X4': '6', 'X5': '0'}

>>> main(6274348)
{'X1': '44', 'X2': '2', 'X3': '239', 'X4': '7', 'X5': '1'}

>>> main(349817)
{'X1': '121', 'X2': '4', 'X3': '85', 'X4': '1', 'X5': '0'}

Вариант №40

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.
0 4 5 12 13 17 18 23 X1 X2 X3 X4

Тесты:

>>> main([('X1', 13), ('X2', 156), ('X3', 0), ('X4', 19)])
4985741

>>> main([('X1', 11), ('X2', 246), ('X3', 7), ('X4', 1)])
327371

>>> main([('X1', 12), ('X2', 187), ('X3', 12), ('X4', 50)])
13211500

>>> main([('X1', 14), ('X2', 175), ('X3', 7), ('X4', 48)])
12645870