ИНБО-06-22

Вариант №1

Задача №8

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

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

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

0 2 3 4 5 11 12 21 Q1 Q2 Q3

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

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

0 6 7 8 9 11 12 21 Q3 Q2 Q1

Тесты:

>>> main('0x34b')
'1690'

>>> main('0x58c')
'2220'

>>> main('0xdba')
'1517'

>>> main('0x56c')
'2219'

Вариант №2

Задача №8

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

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

Целое.
0 4 5 7 8 13 14 19 20 23 G1 G2 G3 G4 G5

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

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

Тесты:

>>> main(10548674)
{'G1': '0x2', 'G2': '0x6', 'G3': '0x35', 'G4': '0x3', 'G5': '0xa'}

>>> main(6329001)
{'G1': '0x9', 'G2': '0x5', 'G3': '0x12', 'G4': '0x2', 'G5': '0x6'}

>>> main(2943742)
{'G1': '0x1e', 'G2': '0x7', 'G3': '0x2a', 'G4': '0x33', 'G5': '0x2'}

>>> main(16135087)
{'G1': '0xf', 'G2': '0x5', 'G3': '0x33', 'G4': '0x18', 'G5': '0xf'}

Вариант №3

Задача №8

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

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

Целое.
0 2 3 4 10 11 18 U1 U2 U3

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

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

Тесты:

>>> main(1843)
{'U1': '3', 'U2': '0', 'U3': '115'}

>>> main(378)
{'U1': '2', 'U2': '1', 'U3': '23'}

>>> main(85)
{'U1': '5', 'U2': '0', 'U3': '5'}

>>> main(1617)
{'U1': '1', 'U2': '0', 'U3': '101'}

Вариант №4

Задача №8

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

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

Целое.

0 4 5 8 9 14 15 19 20 27 R1 R2 R3 R4 R5

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

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

0 5 6 9 10 17 18 22 23 27 R3 R2 R5 R4 R1

Тесты:

>>> main(44871326)
'0xf64a917'

>>> main(2683346)
'0x9440bb8'

>>> main(263779718)
'0x347ef3a'

>>> main(7218685)
'0xef01bd2'

Вариант №5

Задача №8

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

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

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

0 3 4 7 8 15 16 21 Q1 Q3 Q4

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

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

0 3 4 7 8 13 14 21 Q1 Q4 Q3

Тесты:

>>> main('0x272b31')
'714497'

>>> main('0x2e9c65')
'2567685'

>>> main('0x61abb')
'427531'

>>> main('0x2eb1d5')
'2911749'

Вариант №6

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 6 7 12 13 15 16 23 24 29 M1 M2 M4 M5 M6

Тесты:

>>> main({'M1': '1', 'M2': '29', 'M4': '1', 'M5': '205', 'M6': '23'})
'399319157'

>>> main({'M1': '1', 'M2': '12', 'M4': '2', 'M5': '85', 'M6': '55'})
'928333873'

>>> main({'M1': '2', 'M2': '12', 'M4': '2', 'M5': '130', 'M6': '30'})
'511852594'

>>> main({'M1': '2', 'M2': '17', 'M4': '6', 'M5': '174', 'M6': '8'})
'145670214'

Вариант №7

Задача №8

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

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

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

0 9 10 13 14 18 D1 D2 D3 19 23 24 28 29 37 D3 D4 D5

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

Целое.

0 8 9 12 13 17 18 D5 D2 D4 D3 19 27 28 37 D3 D1

Тесты:

>>> main('57686598424')
212705333355

>>> main('240999304878')
184328882112

>>> main('149581219033')
58448044822

>>> main('224388033862')
87662778273

Вариант №8

Задача №8

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

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

Целое.
0 4 5 11 12 18 19 20 G1 G2 G3 G4 21 28 29 33 34 41 G4 G5 G6

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

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

Тесты:

>>> main(1880001652014)
{'G1': '14', 'G2': '41', 'G3': '74', 'G4': '794', 'G5': '13', 'G6': '109'}

>>> main(3381357015130)
{'G1': '26', 'G2': '2', 'G3': '87', 'G4': '274', 'G5': '26', 'G6': '196'}

>>> main(87365293147)
{'G1': '27', 'G2': '34', 'G3': '9', 'G4': '748', 'G5': '2', 'G6': '5'}

>>> main(485454217258)
{'G1': '10', 'G2': '1', 'G3': '56', 'G4': '234', 'G5': '8', 'G6': '28'}

Вариант №9

Задача №8

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

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

Целое.

0 9 10 15 16 20 C1 C2 C3 21 23 24 30 31 40 C3 C4 C5

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

Целое.

0 9 10 19 20 C1 C5 C4 21 26 27 32 33 40 C4 C2 C3

Тесты:

>>> main(1396689753625)
432367348249

>>> main(963057623404)
1555913179500

>>> main(1147820709634)
979990240002

>>> main(1580796689764)
1814504898916

Вариант №10

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 6 7 13 14 15 16 20 21 28 N1 N2 N3 N4 N5

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

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

Тесты:

>>> main('0x15fb96')
{'N1': 6, 'N2': 2, 'N3': 119, 'N4': 3, 'N5': 21}

>>> main('0xeae68')
{'N1': 0, 'N2': 13, 'N3': 92, 'N4': 2, 'N5': 14}

>>> main('0x31b45')
{'N1': 5, 'N2': 8, 'N3': 54, 'N4': 0, 'N5': 3}

>>> main('0x1c030f')
{'N1': 7, 'N2': 1, 'N3': 6, 'N4': 0, 'N5': 28}

Вариант №11

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 13 14 16 17 19 Y1 Y2 Y3 20 23 24 33 34 38 Y5 Y6

Тесты:

>>> main(('0x1', '0x316', '0x1', '0x211', '0x19'))
'0x6611007161'

>>> main(('0x2', '0x5c', '0x1', '0x35c', '0x1a'))
'0x6b5c0045c2'

>>> main(('0xc', '0xef', '0x6', '0x31c', '0xc'))
'0x331c018efc'

>>> main(('0x6', '0xa5', '0x1', '0x3', '0x10'))
'0x4003004a56'

Вариант №12

Задача №8

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

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

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

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

Целое.
0 8 9 10 19 20 23 Q1 Q2 Q3

Тесты:

>>> main({'Q1': '214', 'Q2': '0', 'Q3': '202'})
207062

>>> main({'Q1': '270', 'Q2': '1', 'Q3': '528'})
541454

>>> main({'Q1': '265', 'Q2': '1', 'Q3': '767'})
786185

>>> main({'Q1': '444', 'Q2': '1', 'Q3': '1005'})
1030076

Вариант №13

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 10 11 12 16 Z1 Z2 Z3 Z4

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

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

Тесты:

>>> main('0xd146')
('326', '0', '0', '13')

>>> main('0x145f5')
('501', '0', '1', '20')

>>> main('0x3a7e')
('126', '1', '2', '3')

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

Вариант №14

Задача №8

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

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

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

0 8 9 10 18 K1 K2 K3 19 20 21 30 31 37 K3 K4 K5 K6

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

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

0 9 10 11 18 K3 K2 K5 19 20 21 29 30 31 37 K5 K1 K4 K6

Тесты:

>>> main('206565455165')
'206823624877'

>>> main('32596422132')
'33261205883'

>>> main('61810288714')
'60286372746'

>>> main('222253855300')
'222408202028'

Вариант №15

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 8 9 11 12 21 22 23 24 26 Q2 Q3 Q4 Q5 Q6

Тесты:

>>> main([('Q2', '4'), ('Q3', '5'), ('Q4', '611'), ('Q5', '3'), ('Q6', '7')])
'132528896'

>>> main([('Q2', '6'), ('Q3', '6'), ('Q4', '998'), ('Q5', '0'), ('Q6', '7')])
'121531776'

>>> main([('Q2', '3'), ('Q3', '3'), ('Q4', '456'), ('Q5', '0'), ('Q6', '4')])
'68978368'

>>> main([('Q2', '2'), ('Q3', '0'), ('Q4', '394'), ('Q5', '0'), ('Q6', '0')])
'1613952'

Вариант №16

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 16 Z1 Z2 17 22 23 32 Z3 Z4

Тесты:

>>> main([('Z1', '239'), ('Z2', '382'), ('Z3', '27'), ('Z4', '668')])
'0x14e377eef'

>>> main([('Z1', '7'), ('Z2', '107'), ('Z3', '26'), ('Z4', '244')])
'0x7a346b07'

>>> main([('Z1', '250'), ('Z2', '268'), ('Z3', '43'), ('Z4', '126')])
'0x3f570cfa'

>>> main([('Z1', '163'), ('Z2', '112'), ('Z3', '46'), ('Z4', '393')])
'0xc4dc70a3'

Вариант №17

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 14 15 23 24 25 B1 B2 B3

Тесты:

>>> main([('B1', '12'), ('B2', '580'), ('B3', '216')])
'0x6c488c'

>>> main([('B1', '10'), ('B2', '203'), ('B3', '394')])
'0xc5196a'

>>> main([('B1', '19'), ('B2', '210'), ('B3', '268')])
'0x861a53'

>>> main([('B1', '16'), ('B2', '844'), ('B3', '187')])
'0x5de990'

Вариант №18

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 9 10 16 W1 W2 W3 17 24 25 33 W4

Тесты:

>>> main((11, 50, 57, 73))
'0x92e72b'

>>> main((0, 49, 124, 237))
'0x1dbf310'

>>> main((8, 47, 109, 153))
'0x133b6f8'

>>> main((0, 51, 39, 230))
'0x1cc9f30'

Вариант №19

Задача №8

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

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

Десятичная строка.
0 1 8 9 11 12 13 18 C1 C3 C4 C5

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

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

Тесты:

>>> main('430408')
[('C1', '0x0'), ('C3', '0x0'), ('C4', '0x1'), ('C5', '0x34')]

>>> main('417770')
[('C1', '0x0'), ('C3', '0x7'), ('C4', '0x1'), ('C5', '0x32')]

>>> main('188722')
[('C1', '0x0'), ('C3', '0x0'), ('C4', '0x0'), ('C5', '0x17')]

>>> main('227508')
[('C1', '0x0'), ('C3', '0x4'), ('C4', '0x1'), ('C5', '0x1b')]

Вариант №20

Задача №8

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

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

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

0 1 2 3 7 8 15 16 18 19 26 N1 N2 N3 N5 N6

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

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

0 7 8 12 13 14 16 17 24 25 26 N3 N2 N5 N6 N1

Тесты:

>>> main('0x3287e35')
'0x2ca2600'

>>> main('0x5a1b7b3')
'0x7685600'

>>> main('0x5dcd293')
'0x7771200'

>>> main('0x465a092')
'0x5195200'

Вариант №21

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 6 7 8 15 K1 K2 K3 K4

Тесты:

>>> main([('K1', 17), ('K2', 0), ('K3', 1), ('K4', 36)])
'0x2491'

>>> main([('K1', 4), ('K2', 1), ('K3', 0), ('K4', 91)])
'0x5b24'

>>> main([('K1', 6), ('K2', 2), ('K3', 0), ('K4', 192)])
'0xc046'

>>> main([('K1', 10), ('K2', 2), ('K3', 1), ('K4', 15)])
'0xfca'

Вариант №22

Задача №8

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

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

Целое.
0 6 7 9 10 13 14 16 17 19 20 21 J1 J2 J3 J4 J5 J6

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

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

Тесты:

>>> main(2287502)
('14', '7', '9', '3', '1', '2')

>>> main(3249791)
('127', '4', '5', '6', '0', '3')

>>> main(1920493)
('109', '3', '3', '5', '6', '1')

>>> main(2719712)
('96', '7', '15', '5', '4', '2')

Вариант №23

Задача №8

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

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

Целое.

0 9 10 11 12 16 17 22 23 26 27 29 V1 V2 V3 V4 V5 V6

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

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

0 5 6 8 9 13 14 17 18 19 20 29 V4 V6 V3 V5 V2 V1

Тесты:

>>> main(611582020)
'0x442013a'

>>> main(108598110)
'0x35e3223c'

>>> main(335079019)
'0x26b5dcbc'

>>> main(940621548)
'0x2ecc17c8'

Вариант №24

Задача №8

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

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

Десятичная строка.
0 5 6 10 11 15 16 22 J2 J3 J4

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

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

Тесты:

>>> main('5284331')
{'J2': 7, 'J3': 20, 'J4': 80}

>>> main('6502126')
{'J2': 27, 'J3': 6, 'J4': 99}

>>> main('6727035')
{'J2': 21, 'J3': 20, 'J4': 102}

>>> main('7661067')
{'J2': 24, 'J3': 28, 'J4': 116}

Вариант №25

Задача №8

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

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

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

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

Целое.
0 1 2 11 12 13 20 21 22 30 K1 K2 K3 K5 K6

Тесты:

>>> main(('2', '780', '1', '1', '485'))
2036341810

>>> main(('3', '241', '1', '1', '32'))
136319943

>>> main(('3', '253', '1', '1', '360'))
1512051703

>>> main(('3', '108', '1', '1', '149'))
627052979

Вариант №26

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 8 9 10 11 12 13 17 N1 N2 N3 N5

Тесты:

>>> main([('N1', 0), ('N2', 241), ('N3', 0), ('N5', 5)])
'0xa1e2'

>>> main([('N1', 1), ('N2', 167), ('N3', 3), ('N5', 10)])
'0x1474f'

>>> main([('N1', 1), ('N2', 55), ('N3', 1), ('N5', 5)])
'0xa26f'

>>> main([('N1', 0), ('N2', 217), ('N3', 1), ('N5', 18)])
'0x243b2'

Вариант №27

Задача №8

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

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

Десятичная строка.
0 7 8 16 17 L1 L2 L3 18 22 23 24 25 34 L3 L4 L5

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

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

Тесты:

>>> main('33535861534')
(30, 163, 50, 1, 999)

>>> main('7996039117')
(205, 479, 12, 1, 238)

>>> main('23896619554')
(34, 378, 44, 0, 712)

>>> main('30792082511')
(79, 484, 44, 2, 917)

Вариант №28

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 18 19 24 25 29 G1 G2 G3 G4

Тесты:

>>> main([('G1', 272), ('G2', 897), ('G3', 7), ('G4', 3)])
'104792848'

>>> main([('G1', 54), ('G2', 550), ('G3', 43), ('G4', 24)])
'828132406'

>>> main([('G1', 166), ('G2', 373), ('G3', 23), ('G4', 5)])
'180021926'

>>> main([('G1', 427), ('G2', 115), ('G3', 17), ('G4', 25)])
'847833003'

Вариант №29

Задача №8

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

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

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

0 8 9 12 13 17 18 26 27 29 N1 N2 N3 N4 N5

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

Целое.

0 2 3 6 7 15 16 24 25 29 N5 N2 N4 N1 N3

Тесты:

>>> main('0x172001d0')
30467074

>>> main('0x39688d45')
155528503

>>> main('0x383f8327')
958859151

>>> main('0x3d1c75cc')
130851799

Вариант №30

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 11 12 15 16 22 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main('0x74b9e3')
(3, 316, 11, 116)

>>> main('0x400efb')
(3, 479, 0, 64)

>>> main('0xd6e5e')
(6, 459, 6, 13)

>>> main('0x36227c')
(4, 79, 2, 54)

Вариант №31

Задача №8

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

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

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

0 5 6 7 15 16 20 B1 B2 B3 B4

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

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

0 4 5 13 14 19 20 B4 B3 B1 B2

Тесты:

>>> main('0x134659')
'0x165193'

>>> main('0x1a90d7')
'0x15e43a'

>>> main('0x1e9847')
'0x11e61e'

>>> main('0x1dd226')
'0x9b49d'

Вариант №32

Задача №8

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

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

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

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

Целое.
0 9 10 15 T2 16 20 21 24 25 27 28 31 T3 T4 T5 T6

Тесты:

>>> main(('0x6', '0x8', '0x7', '0x2', '0x8'))
2229803008

>>> main(('0x7', '0x15', '0x6', '0x6', '0x1'))
483728384

>>> main(('0x31', '0x5', '0xc', '0x0', '0x4'))
1099285504

>>> main(('0x33', '0x1a', '0xc', '0x3', '0xc'))
3348810752

Вариант №33

Задача №8

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

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

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

0 1 2 10 11 17 18 23 24 O1 O2 O3 O4 O5

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

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

0 6 7 12 13 14 15 16 24 O3 O4 O5 O1 O2

Тесты:

>>> main('0x65ad51')
'22301877'

>>> main('0x17778a8')
'2764527'

>>> main('0x1fc86b6')
'28163984'

>>> main('0x1be8601')
'25196496'

Вариант №34

Задача №8

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

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

Десятичная строка.
0 8 9 12 13 17 18 22 23 26 27 29 E2 E3 E4 E5 E6

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

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

Тесты:

>>> main('756298792')
('10', '1', '5', '10', '5')

>>> main('97412223')
('2', '19', '19', '11', '0')

>>> main('839069858')
('8', '25', '0', '4', '6')

>>> main('463322111')
('13', '13', '7', '7', '3')

Вариант №35

Задача №8

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

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

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

0 7 8 17 18 L1 L2 L3 19 20 21 22 27 28 37 L3 L4 L5 L6

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

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

0 2 3 4 11 12 18 L3 L4 L1 L6 19 21 22 31 32 37 L6 L2 L5

Тесты:

>>> main('0x4b9ae3cc2')
'0x268f04bc2b'

>>> main('0x4417cbb7a')
'0x52ec447af'

>>> main('0x2372ed40f')
'0x1cb50230fb'

>>> main('0x2e8b8f8b4c')
'0x2ee2ee84c3'

Вариант №36

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 8 9 18 19 26 E1 E2 E3 E4

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

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

Тесты:

>>> main('0x6c0bc31')
('1', '3', '94', '216')

>>> main('0x4cef58e')
('14', '24', '890', '153')

>>> main('0x638ad03')
('3', '16', '86', '199')

>>> main('0x3fe78b0')
('0', '11', '828', '127')

Вариант №37

Задача №8

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

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

Целое.
0 1 7 8 13 14 18 19 26 T1 T3 T4 T5

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

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

Тесты:

>>> main(57376172)
[('T1', '0'), ('T3', '61'), ('T4', '13'), ('T5', '109')]

>>> main(45119361)
[('T1', '1'), ('T3', '55'), ('T4', '1'), ('T5', '86')]

>>> main(125718576)
[('T1', '0'), ('T3', '16'), ('T4', '25'), ('T5', '239')]

>>> main(101334134)
[('T1', '0'), ('T3', '60'), ('T4', '8'), ('T5', '193')]

Вариант №38

Задача №8

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

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

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

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

Целое.
0 1 2 3 7 8 10 11 17 P1 P2 P3 P5

Тесты:

>>> main({'P1': '0', 'P2': '1', 'P3': '19', 'P5': '52'})
106652

>>> main({'P1': '0', 'P2': '1', 'P3': '22', 'P5': '18'})
37044

>>> main({'P1': '2', 'P2': '1', 'P3': '14', 'P5': '87'})
178294

>>> main({'P1': '2', 'P2': '0', 'P3': '10', 'P5': '22'})
45138

Вариант №39

Задача №8

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

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

Целое.
0 3 4 5 7 8 16 17 20 D1 D2 D3 D4 D5

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

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

Тесты:

>>> main(1986178)
{'D1': '2', 'D2': '0', 'D3': '4', 'D4': '78', 'D5': '15'}

>>> main(1881733)
{'D1': '5', 'D2': '0', 'D3': '4', 'D4': '182', 'D5': '14'}

>>> main(565810)
{'D1': '2', 'D2': '1', 'D3': '1', 'D4': '162', 'D5': '4'}

>>> main(1394873)
{'D1': '9', 'D2': '1', 'D3': '5', 'D4': '328', 'D5': '10'}

Вариант №40

Задача №8

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

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

Целое.
0 9 10 11 12 13 16 F1 F3 F4 17 18 19 26 27 33 F4 F5 F6

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

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

Тесты:

>>> main(9759637784)
[('F1', '280'), ('F3', '0'), ('F4', '2'), ('F5', '183'), ('F6', '72')]

>>> main(14339695434)
[('F1', '842'), ('F3', '0'), ('F4', '51'), ('F5', '214'), ('F6', '106')]

>>> main(12471640393)
[('F1', '329'), ('F3', '0'), ('F4', '49'), ('F5', '235'), ('F6', '92')]

>>> main(9987664847)
[('F1', '975'), ('F3', '0'), ('F4', '61'), ('F5', '105'), ('F6', '74')]