ИВБО-07-22

Вариант №1

Задача №8

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

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

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

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

Десятичная строка.
0 6 7 13 14 19 20 21 22 29 Y1 Y3 Y4 Y5

Тесты:

>>> main((64, 63, 1, 112))
'471842880'

>>> main((28, 15, 3, 86))
'364101660'

>>> main((35, 32, 3, 95))
'402128931'

>>> main((24, 2, 3, 71))
'300974104'

Вариант №2

Задача №8

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

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

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

0 7 8 9 10 14 X1 X2 X4

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

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

0 1 2 9 10 14 X2 X1 X4

Тесты:

>>> main('0x3c14')
'0x3c50'

>>> main('0x4e96')
'0x4e58'

>>> main('0x52f7')
'0x53dc'

>>> main('0x44c8')
'0x4720'

Вариант №3

Задача №8

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

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

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

0 8 9 10 16 T2 T3 17 26 27 31 32 33 T4 T5 T6

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

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

0 6 7 11 12 16 T3 T5 T4 17 21 22 23 24 32 33 T4 T6 T2

Тесты:

>>> main('0x2ae860dba')
'0xb43a83'

>>> main('0x2414b4a95')
'0x2008a5452'

>>> main('0x165cd38aa')
'0x6e664e'

>>> main('0x98eeb2c1')
'0x2000779ac'

Вариант №4

Задача №8

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

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

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

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

Целое.
0 7 8 9 11 12 14 15 24 J1 J2 J3 J5

Тесты:

>>> main({'J1': 206, 'J2': 1, 'J3': 4, 'J5': 783})
25659854

>>> main({'J1': 21, 'J2': 1, 'J3': 3, 'J5': 765})
25069333

>>> main({'J1': 164, 'J2': 1, 'J3': 2, 'J5': 948})
31065508

>>> main({'J1': 99, 'J2': 0, 'J3': 5, 'J5': 205})
6720099

Вариант №5

Задача №8

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

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

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

0 1 2 8 9 11 12 13 18 B1 B2 B3 B4 B5

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

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

0 1 3 4 5 6 11 12 18 B4 B3 B1 B5 B2

Тесты:

>>> main('118890')
'0x1a3a1'

>>> main('520518')
'0x51fe1'

>>> main('295906')
'0x78922'

>>> main('201904')
'0x2c605'

Вариант №6

Задача №8

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

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

Целое.
0 9 10 19 20 24 J1 J2 J3 25 29 30 38 39 42 43 48 J3 J4 J5 J6

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

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

Тесты:

>>> main(158622879882406)
{'J1': '0xa6', 'J2': '0x227', 'J3': '0x46', 'J4': '0x111', 'J5': '0x0', 'J6': '0x12'}

>>> main(539750301999582)
{'J1': '0x1de', 'J2': '0x128', 'J3': '0x290', 'J4': '0x199', 'J5': '0x5', 'J6': '0x3d'}

>>> main(411649651947251)
{'J1': '0x2f3', 'J2': '0x1ad', 'J3': '0x274', 'J4': '0x192', 'J5': '0xc', 'J6': '0x2e'}

>>> main(117170191869582)
{'J1': '0x28e', 'J2': '0x289', 'J3': '0xfa', 'J4': '0x43', 'J5': '0x5', 'J6': '0xd'}

Вариант №7

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 11 12 16 C1 C3 17 19 20 28 29 32 C3 C4 C5

Тесты:

>>> main({'C1': 22, 'C3': 23, 'C4': 310, 'C5': 14})
'7841345558'

>>> main({'C1': 116, 'C3': 15, 'C4': 286, 'C5': 11})
'6205534324'

>>> main({'C1': 176, 'C3': 24, 'C4': 219, 'C5': 7})
'3987833008'

>>> main({'C1': 158, 'C3': 213, 'C4': 511, 'C5': 2})
'1610436766'

Вариант №8

Задача №8

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

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

Целое.
0 4 5 8 9 13 14 17 18 23 C2 C3 C4 C5

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

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

Тесты:

>>> main(12342066)
{'C2': 9, 'C3': 9, 'C4': 1, 'C5': 47}

>>> main(11028067)
{'C2': 3, 'C3': 3, 'C4': 1, 'C5': 42}

>>> main(3726324)
{'C2': 15, 'C3': 13, 'C4': 3, 'C5': 14}

>>> main(9725160)
{'C2': 7, 'C3': 18, 'C4': 1, 'C5': 37}

Вариант №9

Задача №8

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

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

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

0 9 10 13 14 17 18 19 20 25 26 30 M1 M3 M4 M5 M6

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

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

0 4 5 6 7 10 11 20 21 24 25 30 M6 M4 M1 M3 M5

Тесты:

>>> main('0x6f67a685')
'0x6dd4283b'

>>> main('0x35995a18')
'0x32b0c04d'

>>> main('0x6ef1a96e')
'0x5ecb701b'

>>> main('0x34f697c')
'0x69abe060'

Вариант №10

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 17 V1 V2 18 19 27 28 34 V2 V4

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

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

Тесты:

>>> main('0x70dca368a')
('0x8a', '0x11b', '0x70')

>>> main('0x67990a8a6')
('0xa6', '0x54', '0x67')

>>> main('0xf420a561')
('0x161', '0x52', '0xf')

>>> main('0x5950ffa3')
('0x1a3', '0x7f', '0x5')

Вариант №11

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 11 12 17 18 25 Q1 Q2 Q4

Тесты:

>>> main((1, 147, 193))
'0x304024d'

>>> main((0, 267, 221))
'0x374042c'

>>> main((0, 144, 1))
'0x40240'

>>> main((1, 302, 192))
'0x30004b9'

Вариант №12

Задача №8

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

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

Целое.

0 1 2 9 10 14 15 18 Z1 Z2 Z3 Z4 19 21 22 30 31 36 Z4 Z5 Z6

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

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

0 7 8 9 10 18 Z2 Z1 Z5 19 24 25 29 30 36 Z6 Z3 Z4

Тесты:

>>> main(103489636349)
'0x1b438185ff'

>>> main(87478250367)
'0xe1545e3df'

>>> main(182759101)
'0x125600adaf'

>>> main(60487762420)
'0xd00e1547d'

Вариант №13

Задача №8

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

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

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

0 7 8 16 17 18 19 21 K2 K3 K4

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

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

0 8 9 11 12 13 14 21 K2 K4 K3

Тесты:

>>> main('3835990')
'0x1e88'

>>> main('951116')
'0x3283'

>>> main('4135538')
'0x3f1a'

>>> main('2967635')
'0x2b48'

Вариант №14

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 15 16 19 20 23 H1 H2 H3 H4

Тесты:

>>> main((79, 29, 3, 13))
'13835599'

>>> main((101, 155, 9, 5))
'5872485'

>>> main((50, 146, 15, 15))
'16749106'

>>> main((23, 241, 2, 12))
'12775703'

Вариант №15

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 11 12 13 14 15 P1 P2 P3 P4

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

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

Тесты:

>>> main('0xdfe5')
{'P1': '1', 'P2': '1017', 'P3': '1', 'P4': '3'}

>>> main('0xe02b')
{'P1': '3', 'P2': '10', 'P3': '2', 'P4': '3'}

>>> main('0xae4b')
{'P1': '3', 'P2': '914', 'P3': '2', 'P4': '2'}

>>> main('0x6197')
{'P1': '3', 'P2': '101', 'P3': '2', 'P4': '1'}

Вариант №16

Задача №8

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

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

Целое.

0 6 7 13 14 20 21 24 N1 N2 N4

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

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

0 6 7 13 14 17 18 24 N2 N1 N4

Тесты:

>>> main(20224974)
'0x26737'

>>> main(24025124)
'0x2d230'

>>> main(9480182)
'0x13b4f'

>>> main(9030195)
'0x11994'

Вариант №17

Задача №8

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

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

Целое.
0 9 10 15 16 17 23 Q1 Q3 Q4

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

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

Тесты:

>>> main(12517832)
[('Q1', 456), ('Q3', 1), ('Q4', 95)]

>>> main(1247084)
[('Q1', 876), ('Q3', 1), ('Q4', 9)]

>>> main(5019946)
[('Q1', 298), ('Q3', 0), ('Q4', 38)]

>>> main(6110318)
[('Q1', 110), ('Q3', 1), ('Q4', 46)]

Вариант №18

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 14 15 16 V1 V2 V3 17 18 20 21 29 30 32 V3 V4 V5 V6

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

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

Тесты:

>>> main('0x1c96bc9ec')
{'V1': '12', 'V2': '591', 'V3': '7', 'V4': '2', 'V5': '75', 'V6': '7'}

>>> main('0xd277e465')
{'V1': '5', 'V2': '803', 'V3': '7', 'V4': '5', 'V5': '147', 'V6': '3'}

>>> main('0x18305c7fe')
{'V1': '30', 'V2': '575', 'V3': '3', 'V4': '1', 'V5': '24', 'V6': '6'}

>>> main('0x97da091a')
{'V1': '26', 'V2': '72', 'V3': '4', 'V4': '6', 'V5': '190', 'V6': '2'}

Вариант №19

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 16 17 26 27 Q2 Q3 Q4

Тесты:

>>> main(('0x108', '0x310', '0x1'))
'237045760'

>>> main(('0x52', '0x39a', '0x0'))
'120869376'

>>> main(('0x11e', '0xa', '0x1'))
'135601664'

>>> main(('0x12d', '0x65', '0x1'))
'147533056'

Вариант №20

Задача №8

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

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

Целое.

0 9 10 19 20 28 29 30 U1 U2 U4

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

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

0 8 9 10 11 20 21 30 U4 U1 U2

Тесты:

>>> main(1660946329)
'3984896'

>>> main(1128189649)
'1987480576'

>>> main(1784173498)
'1117640192'

>>> main(2093410095)
'926514688'

Вариант №21

Задача №8

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

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

Целое.
0 3 4 9 10 11 12 15 S1 S2 S3 S4

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

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

Тесты:

>>> main(59293)
{'S1': '0xd', 'S2': '0x39', 'S3': '0x1', 'S4': '0xe'}

>>> main(56702)
{'S1': '0xe', 'S2': '0x17', 'S3': '0x3', 'S4': '0xd'}

>>> main(16541)
{'S1': '0xd', 'S2': '0x9', 'S3': '0x0', 'S4': '0x4'}

>>> main(37118)
{'S1': '0xe', 'S2': '0xf', 'S3': '0x0', 'S4': '0x9'}

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main('0xa1f42')
{'K1': 2, 'K2': 1, 'K3': 31, 'K4': 40}

>>> main('0xfd2f5')
{'K1': 53, 'K2': 3, 'K3': 18, 'K4': 63}

>>> main('0xac8b2')
{'K1': 50, 'K2': 2, 'K3': 8, 'K4': 43}

>>> main('0xc7a3')
{'K1': 35, 'K2': 2, 'K3': 7, 'K4': 3}

Вариант №23

Задача №8

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

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

Шестнадцатиричная строка.
0 7 8 12 13 18 19 22 U1 U2 U3 U4

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

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

Тесты:

>>> main('0x80475')
[('U1', '0x75'), ('U2', '0x4'), ('U3', '0x0'), ('U4', '0x1')]

>>> main('0x7419ab')
[('U1', '0xab'), ('U2', '0x19'), ('U3', '0x20'), ('U4', '0xe')]

>>> main('0x695775')
[('U1', '0x75'), ('U2', '0x17'), ('U3', '0xa'), ('U4', '0xd')]

>>> main('0x22bad1')
[('U1', '0xd1'), ('U2', '0x1a'), ('U3', '0x15'), ('U4', '0x4')]

Вариант №24

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 6 7 11 12 17 18 20 H1 H2 H3 H4

Тесты:

>>> main([('H1', '0xc'), ('H2', '0x1e'), ('H3', '0x9'), ('H4', '0x2')])
'0x89f0c'

>>> main([('H1', '0x22'), ('H2', '0x19'), ('H3', '0x3'), ('H4', '0x1')])
'0x43ca2'

>>> main([('H1', '0x6'), ('H2', '0x1b'), ('H3', '0xa'), ('H4', '0x4')])
'0x10ad86'

>>> main([('H1', '0x5e'), ('H2', '0xd'), ('H3', '0x31'), ('H4', '0x5')])
'0x1716de'

Вариант №25

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 13 14 20 21 A1 A2 A3 A4

Тесты:

>>> main([('A1', 15), ('A2', 53), ('A3', 95), ('A4', 0)])
'0x17c35f'

>>> main([('A1', 3), ('A2', 895), ('A3', 56), ('A4', 0)])
'0xe37f3'

>>> main([('A1', 11), ('A2', 887), ('A3', 120), ('A4', 1)])
'0x3e377b'

>>> main([('A1', 4), ('A2', 835), ('A3', 90), ('A4', 1)])
'0x36b434'

Вариант №26

Задача №8

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

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

Целое.

0 1 8 9 10 11 16 17 23 24 27 P1 P2 P3 P4 P5 P6

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

Целое.

0 5 6 7 8 15 16 19 20 21 27 P4 P3 P2 P6 P1 P5

Тесты:

>>> main(119524982)
31931385

>>> main(235421590)
9358279

>>> main(27672546)
174191047

>>> main(257831019)
100611334

Вариант №27

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 9 10 15 16 21 I1 I2 I3 I4

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

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

Тесты:

>>> main('0x4accb')
[('I1', '0xb'), ('I2', '0xc'), ('I3', '0x2b'), ('I4', '0x4')]

>>> main('0x262bdb')
[('I1', '0xb'), ('I2', '0x3d'), ('I3', '0xa'), ('I4', '0x26')]

>>> main('0x26bcc6')
[('I1', '0x6'), ('I2', '0xc'), ('I3', '0x2f'), ('I4', '0x26')]

>>> main('0x326872')
[('I1', '0x2'), ('I2', '0x7'), ('I3', '0x1a'), ('I4', '0x32')]

Вариант №28

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 13 14 17 18 24 25 26 W1 W2 W3 W5 W6

Тесты:

>>> main({'W1': '5', 'W2': '45', 'W3': '7', 'W5': '1', 'W6': '0'})
'33670565'

>>> main({'W1': '9', 'W2': '275', 'W3': '3', 'W5': '0', 'W6': '0'})
'57961'

>>> main({'W1': '23', 'W2': '22', 'W3': '1', 'W5': '0', 'W6': '0'})
'17111'

>>> main({'W1': '0', 'W2': '490', 'W3': '5', 'W5': '1', 'W6': '1'})
'100760896'

Вариант №29

Задача №8

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

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

Десятичная строка.
0 2 3 8 9 10 11 12 13 19 20 24 Q1 Q2 Q3 Q4 Q5 Q6

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

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

Тесты:

>>> main('25359374')
('0x6', '0x1', '0x2', '0x2', '0x17', '0x18')

>>> main('6905707')
('0x3', '0x2d', '0x3', '0x3', '0x4a', '0x6')

>>> main('28019466')
('0x2', '0x21', '0x1', '0x1', '0x5c', '0x1a')

>>> main('7536858')
('0x2', '0x1b', '0x0', '0x0', '0x18', '0x7')

Вариант №30

Задача №8

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

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

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

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

Целое.
0 9 10 12 13 15 16 17 23 24 30 E1 E2 E3 E4 E5 E6

Тесты:

>>> main((634, 0, 6, 1, 93, 45))
767279738

>>> main((198, 1, 3, 1, 83, 4))
78079174

>>> main((129, 0, 0, 1, 50, 49))
828702849

>>> main((18, 2, 4, 0, 84, 30))
514361362

Вариант №31

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 4 5 14 15 18 19 22 P2 P3 P4 P5

Тесты:

>>> main((2, 36, 1, 14))
'7373968'

>>> main((1, 240, 11, 9))
'5086728'

>>> main((0, 418, 5, 7))
'3847232'

>>> main((3, 222, 7, 3))
'1809368'

Вариант №32

Задача №8

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

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

Целое.
0 5 6 7 8 16 17 18 24 C1 C2 C3 C4 C5

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

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

Тесты:

>>> main(12166850)
{'C1': '0x2', 'C2': '0x3', 'C3': '0x1a6', 'C4': '0x0', 'C5': '0x2e'}

>>> main(13434020)
{'C1': '0x24', 'C2': '0x2', 'C3': '0xfc', 'C4': '0x0', 'C5': '0x33'}

>>> main(29788826)
{'C1': '0x1a', 'C2': '0x2', 'C3': '0x8a', 'C4': '0x1', 'C5': '0x71'}

>>> main(26237067)
{'C1': '0xb', 'C2': '0x2', 'C3': '0x58', 'C4': '0x0', 'C5': '0x64'}

Вариант №33

Задача №8

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

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

Целое.

0 9 10 18 19 21 I1 I2 I3 22 23 24 33 34 43 I3 I4

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

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

0 8 9 18 19 21 I2 I4 22 28 29 38 39 43 I1 I3

Тесты:

>>> main(1340562020)
'0xe4c80009fd6'

>>> main(15338898073)
'0x45320072540'

>>> main(16139646535)
'0xfc8e00783dd'

>>> main(2639122658)
'0x49c40013b74'

Вариант №34

Задача №8

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

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

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

0 1 2 8 9 11 12 18 N1 N2 N3 N4

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

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

0 6 7 9 10 16 17 18 N2 N3 N4 N1

Тесты:

>>> main('0x7023')
'0x61c08'

>>> main('0x3834f')
'0x6e0d3'

>>> main('0x5c130')
'0x1704c'

>>> main('0x338d7')
'0x6ce35'

Вариант №35

Задача №8

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

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

Целое.
0 4 5 6 10 11 13 14 20 21 26 U1 U2 U3 U4 U5 U6

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

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

Тесты:

>>> main(6141798)
(6, 1, 29, 6, 118, 2)

>>> main(102580978)
(18, 1, 11, 0, 117, 48)

>>> main(85152785)
(17, 0, 16, 2, 77, 40)

>>> main(38221408)
(0, 1, 25, 6, 28, 18)

Вариант №36

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 10 11 18 19 20 N1 N2 N3 N4

Тесты:

>>> main((3, 174, 120, 3))
'0x1bc2bb'

>>> main((3, 440, 241, 3))
'0x1f8ee3'

>>> main((1, 275, 71, 3))
'0x1a3c4d'

>>> main((3, 210, 110, 3))
'0x1b734b'

Вариант №37

Задача №8

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

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

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

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

Целое.
0 2 3 7 8 9 17 18 23 24 29 V1 V2 V3 V4 V5 V6

Тесты:

>>> main([('V1', 1), ('V2', 1), ('V3', 0), ('V4', 260), ('V5', 40), ('V6', 61)])
1034029065

>>> main([('V1', 4), ('V2', 20), ('V3', 0), ('V4', 478), ('V5', 58), ('V6', 42)])
720092324

>>> main([('V1', 6), ('V2', 21), ('V3', 0), ('V4', 37), ('V5', 18), ('V6', 37)])
625494702

>>> main([('V1', 3), ('V2', 7), ('V3', 1), ('V4', 31), ('V5', 56), ('V6', 2)])
48250683

Вариант №38

Задача №8

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

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

Целое.
0 1 2 9 10 11 12 20 21 23 24 27 N1 N2 N3 N4 N5 N6

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

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

Тесты:

>>> main(261691091)
(3, 180, 1, 401, 4, 15)

>>> main(145810612)
(0, 45, 1, 270, 5, 8)

>>> main(196942757)
(1, 233, 2, 465, 5, 11)

>>> main(206380790)
(2, 189, 3, 209, 2, 12)

Вариант №39

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 11 12 18 19 23 24 25 X1 X2 X4 X5

Тесты:

>>> main([('X1', 2), ('X2', 347), ('X4', 27), ('X5', 3)])
'0x3d80ada'

>>> main([('X1', 6), ('X2', 163), ('X4', 26), ('X5', 3)])
'0x3d0051e'

>>> main([('X1', 5), ('X2', 88), ('X4', 27), ('X5', 3)])
'0x3d802c5'

>>> main([('X1', 6), ('X2', 176), ('X4', 13), ('X5', 3)])
'0x3680586'

Вариант №40

Задача №8

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

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

Целое.

0 2 3 4 5 12 13 14 19 S1 S2 S4 S5

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

Целое.

0 1 6 7 14 15 16 17 19 S4 S5 S2 S1

Тесты:

>>> main(96654)
819211

>>> main(13227)
425985

>>> main(18002)
327682

>>> main(902321)
196718