ИКБО-03-22

Вариант №1

Задача №8

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

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

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

0 1 3 4 7 8 12 J1 J2 J3 J4

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

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

0 2 3 7 8 9 12 J2 J4 J1 J3

Тесты:

>>> main('2141')
'0xb46'

>>> main('692')
'0x1612'

>>> main('5917')
'0x3be'

>>> main('4469')
'0xf8a'

Вариант №2

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 15 16 18 19 23 24 27 I1 I2 I3 I4 I5

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

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

Тесты:

>>> main('0x7dcf46')
[('I1', 70), ('I2', 207), ('I3', 5), ('I4', 15), ('I5', 0)]

>>> main('0x86b094')
[('I1', 148), ('I2', 176), ('I3', 6), ('I4', 16), ('I5', 0)]

>>> main('0x912a82d')
[('I1', 45), ('I2', 168), ('I3', 2), ('I4', 2), ('I5', 9)]

>>> main('0x4677f98')
[('I1', 152), ('I2', 127), ('I3', 7), ('I4', 12), ('I5', 4)]

Вариант №3

Задача №8

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

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

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

0 9 10 19 20 23 24 25 Y1 Y2 Y3 Y4

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

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

0 9 10 19 20 21 22 25 Y2 Y1 Y4 Y3

Тесты:

>>> main('0x144566d')
'18461973'

>>> main('0x1f4a53c')
'64287017'

>>> main('0x3db438f')
'58605264'

>>> main('0x29b2349')
'40707784'

Вариант №4

Задача №8

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

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

Целое.
0 2 3 7 8 12 13 14 17 18 22 B1 B2 B3 B4 B5 B6

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

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

Тесты:

>>> main(3221498)
('2', '31', '7', '1', '4', '12')

>>> main(7221320)
('0', '9', '16', '1', '8', '27')

>>> main(6338784)
('0', '28', '24', '1', '2', '24')

>>> main(6960588)
('4', '25', '21', '1', '8', '26')

Вариант №5

Задача №8

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

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

Целое.

0 8 9 14 15 20 L1 L2 L3 21 28 29 38 39 40 L4 L5 L6

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

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

0 7 8 13 14 20 L4 L3 L1 21 22 23 32 33 38 39 40 L1 L5 L2 L6

Тесты:

>>> main(3246559449)
'0x100336450c'

>>> main(1128864248424)
'0x1721b1a1aac'

>>> main(1604500513332)
'0x163d60d1d9d'

>>> main(216286545436)
'0x46c9071ddd'

Вариант №6

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 12 13 16 17 18 20 21 25 Q1 Q2 Q3 Q4 Q5 Q6

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

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

Тесты:

>>> main('0xa74e19')
{'Q1': '0x19', 'Q2': '0x38', 'Q3': '0xa', 'Q4': '0x1', 'Q5': '0x1', 'Q6': '0x5'}

>>> main('0x26da944')
{'Q1': '0x4', 'Q2': '0x25', 'Q3': '0xd', 'Q4': '0x0', 'Q5': '0x3', 'Q6': '0x13'}

>>> main('0xa5cc57')
{'Q1': '0x17', 'Q2': '0x31', 'Q3': '0xe', 'Q4': '0x0', 'Q5': '0x1', 'Q6': '0x5'}

>>> main('0xf86d77')
{'Q1': '0x37', 'Q2': '0x35', 'Q3': '0x3', 'Q4': '0x0', 'Q5': '0x6', 'Q6': '0x7'}

Вариант №7

Задача №8

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

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

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

0 9 10 15 16 18 T1 T2 T3 19 20 21 28 29 37 T3 T4

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

Целое.

0 5 6 13 14 18 T2 T4 T1 19 23 24 28 29 37 T1 T3

Тесты:

>>> main('9186649')
206979339

>>> main('265955564')
440082314

>>> main('211904161')
27810137

>>> main('75300713')
484067583

Вариант №8

Задача №8

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

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

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

0 6 7 8 9 14 15 17 T1 T2 T3 T4 18 21 22 29 30 35 T4 T5 T6

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

Целое.

0 6 7 8 9 14 15 17 T1 T2 T3 T6 18 20 21 27 28 35 T6 T4 T5

Тесты:

>>> main('30455181347')
24986398755

>>> main('19951237770')
39928281738

>>> main('20800631425')
25569129089

>>> main('55991055463')
10015618151

Вариант №9

Задача №8

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

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

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

0 5 6 11 12 17 18 19 H1 H2 H3 H4

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

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

0 5 6 11 12 13 14 19 H3 H1 H4 H2

Тесты:

>>> main('0xa84ee')
'0x4eba8'

>>> main('0x44db1')
'0xd9c44'

>>> main('0x372b2')
'0x28cb7'

>>> main('0x742c1')
'0x2d074'

Вариант №10

Задача №8

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

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

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

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

Целое.
0 1 2 3 4 8 9 10 17 18 21 H1 H2 H3 H4 H5 H6

Тесты:

>>> main((2, 1, 17, 1, 12, 0))
13078

>>> main((3, 2, 1, 1, 65, 7))
1902107

>>> main((1, 3, 23, 0, 59, 7))
1895805

>>> main((3, 0, 23, 1, 233, 10))
2860915

Вариант №11

Задача №8

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

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

Десятичная строка.
0 3 4 5 6 9 10 14 15 18 19 24 F1 F2 F3 F5 F6

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

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

Тесты:

>>> main('11858690')
[('F1', '2'), ('F2', '0'), ('F3', '12'), ('F5', '9'), ('F6', '22')]

>>> main('16091835')
[('F1', '11'), ('F2', '3'), ('F3', '10'), ('F5', '11'), ('F6', '30')]

>>> main('11406365')
[('F1', '13'), ('F2', '1'), ('F3', '0'), ('F5', '12'), ('F6', '21')]

>>> main('29313516')
[('F1', '12'), ('F2', '2'), ('F3', '7'), ('F5', '14'), ('F6', '55')]

Вариант №12

Задача №8

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

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

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

0 8 9 17 18 22 23 26 K1 K2 K3 K4

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

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

0 4 5 13 14 22 23 26 K3 K1 K2 K4

Тесты:

>>> main('51882051')
'58001509'

>>> main('93703837')
'96064421'

>>> main('20238498')
'18486349'

>>> main('100154342')
'92765406'

Вариант №13

Задача №8

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

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

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

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

Целое.
0 9 10 11 12 15 16 20 21 N2 N3 N4 N5

Тесты:

>>> main(('2', '3', '24', '1'))
3684352

>>> main(('0', '3', '25', '0'))
1650688

>>> main(('3', '11', '1', '0'))
113664

>>> main(('2', '12', '9', '0'))
641024

Вариант №14

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 13 14 19 20 25 Q2 Q3 Q4

Тесты:

>>> main({'Q2': '785', 'Q3': '52', 'Q4': '63'})
'0x3fd3110'

>>> main({'Q2': '723', 'Q3': '7', 'Q4': '35'})
'0x231ed30'

>>> main({'Q2': '961', 'Q3': '25', 'Q4': '26'})
'0x1a67c10'

>>> main({'Q2': '301', 'Q3': '17', 'Q4': '36'})
'0x24452d0'

Вариант №15

Задача №8

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

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

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

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

Целое.
0 6 7 10 11 12 17 P1 P2 P4 18 20 21 25 26 35 P4 P5 P6

Тесты:

>>> main((118, 12, 306, 4, 255))
17122403958

>>> main((36, 7, 91, 3, 496))
33292661668

>>> main((22, 8, 35, 8, 97))
6526481430

>>> main((116, 11, 239, 0, 759))
50936608244

Вариант №16

Задача №8

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

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

Целое.
0 1 2 3 9 10 11 20 21 29 H1 H2 H3 H4 H5

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

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

Тесты:

>>> main(560441)
[('H1', 1), ('H2', 0), ('H3', 39), ('H4', 1), ('H5', 273)]

>>> main(1704804)
[('H1', 0), ('H2', 2), ('H3', 108), ('H4', 0), ('H5', 832)]

>>> main(370)
[('H1', 0), ('H2', 1), ('H3', 46), ('H4', 0), ('H5', 0)]

>>> main(1977475)
[('H1', 1), ('H2', 1), ('H3', 16), ('H4', 1), ('H5', 965)]

Вариант №17

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 14 15 16 G1 G2 G3 17 23 24 32 G3

Тесты:

>>> main((110, 253, 420))
'0xd27eee'

>>> main((103, 94, 259))
'0x81af67'

>>> main((110, 94, 113))
'0x38af6e'

>>> main((71, 252, 99))
'0x31fe47'

Вариант №18

Задача №8

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

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

Десятичная строка.
0 4 5 8 9 10 11 17 G1 G3 G4 18 20 21 30 31 35 G4 G5 G6

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

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

Тесты:

>>> main('51315795914')
{'G1': 10, 'G3': 3, 'G4': 284, 'G5': 917, 'G6': 23}

>>> main('50134242801')
{'G1': 17, 'G3': 2, 'G4': 890, 'G5': 353, 'G6': 23}

>>> main('17526324965')
{'G1': 5, 'G3': 3, 'G4': 207, 'G5': 165, 'G6': 8}

>>> main('17187843988')
{'G1': 20, 'G3': 3, 'G4': 821, 'G5': 3, 'G6': 8}

Вариант №19

Задача №8

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

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

Целое.
0 6 7 10 11 15 16 19 20 26 C2 C3 C4 C5

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

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

Тесты:

>>> main(12821681)
{'C2': 9, 'C3': 20, 'C4': 3, 'C5': 12}

>>> main(68720153)
{'C2': 12, 'C3': 18, 'C4': 8, 'C5': 65}

>>> main(131110532)
{'C2': 13, 'C3': 18, 'C4': 0, 'C5': 125}

>>> main(42740949)
{'C2': 9, 'C3': 5, 'C4': 12, 'C5': 40}

Вариант №20

Задача №8

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

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

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

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

Целое.
0 2 3 4 12 13 17 Q1 Q2 Q3 Q4 18 26 27 35 Q5 Q6

Тесты:

>>> main(('0', '0', '16', '23', '121', '358'))
48081854720

>>> main(('2', '0', '406', '1', '210', '375'))
50386712930

>>> main(('2', '0', '415', '5', '17', '444'))
59597175282

>>> main(('5', '1', '452', '27', '254', '464'))
62343838797

Вариант №21

Задача №8

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

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

Десятичная строка.
0 4 5 9 10 13 14 16 17 19 20 23 V1 V2 V3 V4 V5 V6

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

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

Тесты:

>>> main('2234217')
[('V1', '9'), ('V2', '27'), ('V3', '5'), ('V4', '0'), ('V5', '1'), ('V6', '2')]

>>> main('3523463')
[('V1', '7'), ('V2', '28'), ('V3', '0'), ('V4', '7'), ('V5', '2'), ('V6', '3')]

>>> main('14190821')
[('V1', '5'), ('V2', '7'), ('V3', '2'), ('V4', '2'), ('V5', '4'), ('V6', '13')]

>>> main('11958634')
[('V1', '10'), ('V2', '11'), ('V3', '14'), ('V4', '1'), ('V5', '3'), ('V6', '11')]

Вариант №22

Задача №8

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

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

Десятичная строка.
0 2 3 10 11 15 16 23 W1 W2 W3 W4

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

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

Тесты:

>>> main('16220316')
{'W1': '4', 'W2': '19', 'W3': '16', 'W4': '247'}

>>> main('4001508')
{'W1': '4', 'W2': '220', 'W3': '1', 'W4': '61'}

>>> main('1095799')
{'W1': '7', 'W2': '14', 'W3': '23', 'W4': '16'}

>>> main('1837401')
{'W1': '1', 'W2': '43', 'W3': '1', 'W4': '28'}

Вариант №23

Задача №8

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

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

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

0 9 10 18 X1 X2 19 21 22 27 28 34 35 37 X3 X5 X6

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

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

0 2 3 9 10 18 X6 X5 X1 19 20 25 26 34 35 37 X1 X2 X3

Тесты:

>>> main('15719421500')
'0x335408f1d0'

>>> main('224164552615')
'0x3f9c0e9e1e'

>>> main('257094830468')
'0xbc80611ef'

>>> main('233931608892')
'0x29100cf33e'

Вариант №24

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 5 6 14 15 21 22 25 26 28 T1 T2 T3 T4 T5 T6

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

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

Тесты:

>>> main('0x2b118e4')
('4', '4', '99', '98', '10', '0')

>>> main('0x1563d105')
('5', '0', '324', '71', '5', '5')

>>> main('0x5e18cdc')
('4', '3', '51', '67', '7', '1')

>>> main('0x18df3316')
('6', '2', '204', '62', '3', '6')

Вариант №25

Задача №8

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

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

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

0 7 8 10 11 18 19 21 F2 F3 F4

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

Целое.

0 2 3 10 11 18 19 21 F2 F3 F4

Тесты:

>>> main('711533')
710659

>>> main('299922')
299011

>>> main('3285680')
3284994

>>> main('2140534')
2140161

Вариант №26

Задача №8

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

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

Целое.

0 9 10 18 19 20 L2 L3 21 27 28 35 36 38 39 41 L3 L4 L5 L6

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

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

0 2 3 5 6 15 16 20 L5 L6 L4 21 23 24 32 33 41 L4 L2 L3

Тесты:

>>> main(2040416996872)
'0x9523b1001d'

>>> main(2369856299963)
'0x19c587c0022'

>>> main(4068365318903)
'0x35e0e33003b'

>>> main(3123009611628)
'0x783972002d'

Вариант №27

Задача №8

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

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

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

0 6 7 10 11 16 17 18 24 P2 P3 P4 P5

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

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

0 6 7 13 14 15 20 21 24 P5 P4 P3 P2

Тесты:

>>> main('32998528')
'20463741'

>>> main('859859')
'28409859'

>>> main('16839924')
'19857472'

>>> main('24361832')
'14401628'

Вариант №28

Задача №8

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

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

Целое.

0 3 4 10 11 12 H1 H2 H3

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

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

0 1 7 8 11 12 H2 H1 H3

Тесты:

>>> main(1095)
'1928'

>>> main(3622)
'5828'

>>> main(3139)
'5000'

>>> main(3630)
'7876'

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 11 12 13 16 17 18 J1 J2 J3 J4 19 26 27 36 J6

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

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

Тесты:

>>> main('0x13c96e3aa5')
{'J1': '0x5', 'J2': '0x154', 'J3': '0x1', 'J4': '0x1', 'J6': '0x279'}

>>> main('0x1451607b56')
{'J1': '0x6', 'J2': '0x16a', 'J3': '0x1', 'J4': '0x3', 'J6': '0x28a'}

>>> main('0xd0e77b076')
{'J1': '0x6', 'J2': '0xe', 'J3': '0x1', 'J4': '0xd', 'J6': '0x1a1'}

>>> main('0x7494ce5e7')
{'J1': '0x7', 'J2': '0xbc', 'J3': '0x0', 'J4': '0x7', 'J6': '0xe9'}

Вариант №30

Задача №8

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

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

Целое.
0 1 4 5 8 9 10 11 N1 N2 N3 N4 N5

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

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

Тесты:

>>> main(1224)
[('N1', '0'), ('N2', '4'), ('N3', '6'), ('N4', '2'), ('N5', '0')]

>>> main(2858)
[('N1', '0'), ('N2', '5'), ('N3', '9'), ('N4', '1'), ('N5', '1')]

>>> main(2679)
[('N1', '1'), ('N2', '11'), ('N3', '3'), ('N4', '1'), ('N5', '1')]

>>> main(10)
[('N1', '0'), ('N2', '5'), ('N3', '0'), ('N4', '0'), ('N5', '0')]

Вариант №31

Задача №8

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

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

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

0 1 2 7 8 13 14 17 J1 J3 J4 18 19 27 28 35 J4 J5 J6

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

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

0 4 5 12 13 17 J4 J6 J3 18 19 20 21 29 30 35 J3 J1 J5

Тесты:

>>> main('0x6cce60af5')
'864636312'

>>> main('0x619dd425f')
'662195253'

>>> main('0xf4441da68')
'285433479'

>>> main('0x3c60c24f0')
'405047184'

Вариант №32

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 15 16 18 P1 P2 P3 19 20 27 28 35 36 37 P3 P4 P5 P6

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

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

Тесты:

>>> main('0x30275c6092')
{'P1': '146', 'P2': '48', 'P3': '12', 'P4': '117', 'P5': '2', 'P6': '3'}

>>> main('0x9834a4162')
{'P1': '354', 'P2': '32', 'P3': '10', 'P4': '52', 'P5': '152', 'P6': '0'}

>>> main('0x1ba0fbd9')
{'P1': '473', 'P2': '125', 'P3': '0', 'P4': '186', 'P5': '1', 'P6': '0'}

>>> main('0x2dffabd0b9')
{'P1': '185', 'P2': '104', 'P3': '11', 'P4': '250', 'P5': '223', 'P6': '2'}

Вариант №33

Задача №8

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

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

Целое.

0 2 3 6 7 16 17 I2 I3 I4

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

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

0 2 3 4 13 14 17 I4 I3 I2

Тесты:

>>> main(90405)
'76832'

>>> main(10334)
'181504'

>>> main(227937)
'208712'

>>> main(240324)
'144728'

Вариант №34

Задача №8

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

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

Целое.
0 5 6 14 15 21 I1 I2 I3 22 24 25 32 33 42 I3 I4 I5

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

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

Тесты:

>>> main(8203890874731)
{'I1': '43', 'I2': '357', 'I3': '0', 'I4': '15', 'I5': '955'}

>>> main(4216895707490)
{'I1': '34', 'I2': '101', 'I3': '292', 'I4': '233', 'I5': '490'}

>>> main(4713171341272)
{'I1': '24', 'I2': '319', 'I3': '462', 'I4': '175', 'I5': '548'}

>>> main(884450150156)
{'I1': '12', 'I2': '284', 'I3': '684', 'I4': '246', 'I5': '102'}

Вариант №35

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 11 17 18 24 25 26 27 29 B1 B2 B3 B4 B5 B6

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

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

Тесты:

>>> main('0x20508695')
('661', '1', '16', '20', '0', '4')

>>> main('0x15503cf1')
('241', '1', '7', '84', '2', '2')

>>> main('0x3618fa')
('250', '0', '67', '13', '0', '0')

>>> main('0x114df590')
('400', '1', '62', '83', '0', '2')

Вариант №36

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 14 15 24 25 26 I1 I2 I3 I4

Тесты:

>>> main([('I1', '0x74'), ('I2', '0x75'), ('I3', '0x248'), ('I4', '0x1')])
'52721012'

>>> main([('I1', '0xeb'), ('I2', '0x7b'), ('I3', '0x14f'), ('I4', '0x3')])
'111672299'

>>> main([('I1', '0x9a'), ('I2', '0x5e'), ('I3', '0x8f'), ('I4', '0x2')])
'71818906'

>>> main([('I1', '0xb3'), ('I2', '0x4b'), ('I3', '0x13'), ('I4', '0x3')])
'101305267'

Вариант №37

Задача №8

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

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

Целое.

0 3 4 11 12 19 20 28 29 30 Q1 Q3 Q4 Q5

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

Целое.

0 7 8 15 16 19 20 21 22 30 Q3 Q1 Q5 Q4

Тесты:

>>> main(1364075529)
1160315106

>>> main(271142743)
1082589332

>>> main(573568794)
144310527

>>> main(812565402)
1100611820

Вариант №38

Задача №8

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

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

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

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

Целое.
0 3 4 5 6 7 9 B1 B2 B3 B4

Тесты:

>>> main(('0', '3', '0', '5'))
688

>>> main(('2', '0', '0', '5'))
642

>>> main(('12', '0', '0', '1'))
140

>>> main(('15', '2', '0', '2'))
303

Вариант №39

Задача №8

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

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

Целое.
0 2 3 6 7 12 13 16 17 22 23 24 U1 U2 U3 U4 U5

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

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

Тесты:

>>> main(3432400)
[('U1', 0), ('U2', 10), ('U3', 63), ('U4', 2), ('U5', 26)]

>>> main(7258988)
[('U1', 4), ('U2', 13), ('U3', 6), ('U4', 6), ('U5', 55)]

>>> main(2953120)
[('U1', 0), ('U2', 4), ('U3', 31), ('U4', 8), ('U5', 22)]

>>> main(2389955)
[('U1', 3), ('U2', 8), ('U3', 47), ('U4', 3), ('U5', 18)]

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 17 18 19 J1 J2 J3 20 22 23 32 33 38 39 J3 J4 J5 J6

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

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

Тесты:

>>> main('0x1707affe37')
('55', '1022', '11', '527', '11', '0')

>>> main('0x122448355e')
('94', '53', '18', '72', '9', '0')

>>> main('0x260e963fac')
('172', '575', '5', '29', '19', '0')

>>> main('0x81e0bb5178')
('120', '849', '14', '961', '0', '1')