ИКБО-17-22

Вариант №1

Задача №8

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

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

Целое.

0 6 7 10 11 19 20 21 22 26 B2 B3 B4 B5

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

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

0 8 9 12 13 17 18 19 20 26 B3 B2 B5 B4

Тесты:

>>> main(69351348)
'0xa1e46'

>>> main(70526901)
'0xe1e84'

>>> main(20075573)
'0xc904a'

>>> main(109257813)
'0x35064'

Вариант №2

Задача №8

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

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

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

0 4 5 11 12 18 19 20 26 27 29 U2 U3 U4 U5 U6

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

Целое.

0 6 7 9 10 16 17 23 24 28 29 U2 U6 U3 U5 U4

Тесты:

>>> main('676101148')
537468640

>>> main('801662794')
553130682

>>> main('628986537')
548365845

>>> main('695130296')
539866821

Вариант №3

Задача №8

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

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

Десятичная строка.
0 1 7 8 14 15 22 23 26 O1 O3 O4 O5

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

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

Тесты:

>>> main('15016537')
('0x1', '0x22', '0xca', '0x1')

>>> main('12470594')
('0x0', '0x49', '0x7c', '0x1')

>>> main('76023490')
('0x0', '0x6', '0x10', '0x9')

>>> main('29399272')
('0x0', '0x18', '0x81', '0x3')

Вариант №4

Задача №8

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

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

Целое.

0 5 6 10 11 18 19 20 A2 A3 A4

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

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

0 1 2 7 8 12 13 20 A4 A2 A3

Тесты:

>>> main(2086083)
'0x1f5303'

>>> main(949847)
'0x19f901'

>>> main(219928)
'0xd6c00'

>>> main(315328)
'0x133f00'

Вариант №5

Задача №8

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

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

Целое.
0 3 4 13 14 15 J1 J2 J3 16 17 18 20 21 23 24 31 J3 J4 J5 J6

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

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

Тесты:

>>> main(1812621460)
(4, 649, 9, 2, 0, 108)

>>> main(4201482788)
(4, 162, 6, 3, 3, 250)

>>> main(2551387341)
(13, 332, 12, 4, 0, 152)

>>> main(3494347529)
(9, 48, 14, 1, 2, 208)

Вариант №6

Задача №8

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

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

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

0 3 4 5 11 12 13 W1 W2 W3 W4

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

Целое.

0 6 7 10 11 12 13 W3 W1 W4 W2

Тесты:

>>> main('11456')
4198

>>> main('2864')
8281

>>> main('14453')
15043

>>> main('13010')
14614

Вариант №7

Задача №8

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

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

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

0 4 5 14 15 19 20 21 22 27 U1 U3 U4 U5

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

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

0 4 5 6 7 11 12 17 18 27 U3 U4 U1 U5

Тесты:

>>> main('135002998')
'0x20b17'

>>> main('207815485')
'0x31ec6'

>>> main('62643141')
'0xe2f7'

>>> main('42424158')
'0xaf0e'

Вариант №8

Задача №8

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

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

Десятичная строка.
0 7 8 12 13 20 21 26 O1 O2 O3

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

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

Тесты:

>>> main('2075373')
{'O1': '0xed', 'O2': '0xa', 'O3': '0xfd'}

>>> main('376261')
{'O1': '0xc5', 'O2': '0x1d', 'O3': '0x2d'}

>>> main('1721223')
{'O1': '0x87', 'O2': '0x3', 'O3': '0xd2'}

>>> main('239244')
{'O1': '0x8c', 'O2': '0x6', 'O3': '0x1d'}

Вариант №9

Задача №8

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

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

Шестнадцатиричная строка.
0 1 8 9 16 17 20 21 Q1 Q2 Q3 Q4 Q5

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

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

Тесты:

>>> main('0x7527e')
('0', '63', '169', '3', '0')

>>> main('0xc9145')
('1', '162', '72', '6', '0')

>>> main('0x324836')
('0', '27', '36', '9', '1')

>>> main('0xd4ba7')
('1', '211', '165', '6', '0')

Вариант №10

Задача №8

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

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

Десятичная строка.
0 1 2 9 10 19 Y1 Y2 Y3

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

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

Тесты:

>>> main('691')
{'Y1': '1', 'Y2': '1', 'Y3': '172'}

>>> main('450')
{'Y1': '0', 'Y2': '1', 'Y3': '112'}

>>> main('843')
{'Y1': '1', 'Y2': '1', 'Y3': '210'}

>>> main('716')
{'Y1': '0', 'Y2': '0', 'Y3': '179'}

Вариант №11

Задача №8

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

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

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

0 4 5 7 8 16 17 X1 X2 X3 X4 18 21 22 25 26 35 X4 X5 X6

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

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

0 3 4 6 7 16 17 X5 X2 X6 X4 18 21 22 30 31 35 X4 X3 X1

Тесты:

>>> main('0x9491c9f54')
'43618478372'

>>> main('0xf0c92de29')
'20259791250'

>>> main('0xbe5c1ba66')
'14738881719'

>>> main('0x3b6f54056')
'48590255787'

Вариант №12

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 14 15 16 M1 M2 17 19 20 29 30 32 M4 M5

Тесты:

>>> main([('M1', 348), ('M2', 25), ('M4', 1006), ('M5', 4)])
'0x13ee0655c'

>>> main([('M1', 465), ('M2', 30), ('M4', 929), ('M5', 3)])
'0xfa1079d1'

>>> main([('M1', 414), ('M2', 13), ('M4', 881), ('M5', 4)])
'0x13710359e'

>>> main([('M1', 82), ('M2', 21), ('M4', 218), ('M5', 4)])
'0x10da05452'

Вариант №13

Задача №8

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

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

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

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

Десятичная строка.
0 7 8 15 16 22 23 24 T1 T2 T3 T4

Тесты:

>>> main([('T1', '0xe9'), ('T2', '0x70'), ('T3', '0x7'), ('T4', '0x1')])
'8876265'

>>> main([('T1', '0x85'), ('T2', '0xd0'), ('T3', '0x74'), ('T4', '0x1')])
'16044165'

>>> main([('T1', '0xeb'), ('T2', '0x38'), ('T3', '0x37'), ('T4', '0x0')])
'3619051'

>>> main([('T1', '0xb2'), ('T2', '0x49'), ('T3', '0x27'), ('T4', '0x0')])
'2574770'

Вариант №14

Задача №8

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

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

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

0 8 9 13 14 18 N1 N2 N3 19 22 23 28 29 37 N3 N4 N5

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

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

0 8 9 17 18 N5 N1 N3 19 26 27 31 32 37 N3 N2 N4

Тесты:

>>> main('0x6bf6f764')
'0x17df6ec803'

>>> main('0x307dcdb334')
'0x3bccda6983'

>>> main('0x34b95ae853')
'0x32a5aca7a5'

>>> main('0x22dad19fc3')
'0x357d1b8716'

Вариант №15

Задача №8

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

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

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

0 8 9 11 12 21 D2 D3 22 29 30 38 39 43 D4 D5 D6

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

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

0 7 8 16 17 21 D4 D5 22 25 26 35 36 40 41 43 D5 D3 D6 D2

Тесты:

>>> main('4452094816093')
'0xe81e8640056'

>>> main('8866175430805')
'0x10f2c820044'

>>> main('3021958314142')
'0x8501dfc006b'

>>> main('13006714704733')
'0x37706a20072'

Вариант №16

Задача №8

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

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

Шестнадцатиричная строка.
0 3 4 12 13 17 18 Z1 Z2 Z3 Z4 19 26 27 36 Z4 Z5

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

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

Тесты:

>>> main('0xf3385437d')
{'Z1': '0xd', 'Z2': '0x37', 'Z3': '0xa', 'Z4': '0xe1', 'Z5': '0x1e6'}

>>> main('0x1088ae624a')
{'Z1': '0xa', 'Z2': '0x24', 'Z3': '0x13', 'Z4': '0x2b', 'Z5': '0x211'}

>>> main('0x138b91ce71')
{'Z1': '0x1', 'Z2': '0xe7', 'Z3': '0xe', 'Z4': '0xe4', 'Z5': '0x271'}

>>> main('0x46b461655')
{'Z1': '0x5', 'Z2': '0x165', 'Z3': '0x10', 'Z4': '0xd1', 'Z5': '0x8d'}

Вариант №17

Задача №8

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

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

Целое.
0 8 9 12 13 18 19 21 T1 T2 T4

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

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

Тесты:

>>> main(2480095)
('479', '11', '4')

>>> main(3419510)
('374', '6', '6')

>>> main(2831797)
('437', '10', '5')

>>> main(481212)
('444', '11', '0')

Вариант №18

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 1 2 10 11 17 Y1 Y2 18 19 23 24 33 34 35 Y4 Y5 Y6

Тесты:

>>> main({'Y1': '0', 'Y2': '367', 'Y4': '28', 'Y5': '599', 'Y6': '2'})
'0xa57e005bc'

>>> main({'Y1': '1', 'Y2': '113', 'Y4': '7', 'Y5': '169', 'Y6': '3'})
'0xca93801c5'

>>> main({'Y1': '3', 'Y2': '127', 'Y4': '0', 'Y5': '704', 'Y6': '1'})
'0x6c00001ff'

>>> main({'Y1': '2', 'Y2': '192', 'Y4': '2', 'Y5': '488', 'Y6': '1'})
'0x5e8100302'

Вариант №19

Задача №8

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

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

Шестнадцатиричная строка.
0 8 9 10 11 12 18 19 23 H1 H3 H4 H5

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

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

Тесты:

>>> main('0x4a6e18')
('0x18', '0x1', '0x26', '0x9')

>>> main('0x7482e7')
('0xe7', '0x0', '0x48', '0xe')

>>> main('0x33900a')
('0xa', '0x0', '0x39', '0x6')

>>> main('0x91a3c0')
('0x1c0', '0x0', '0x1a', '0x12')

Вариант №20

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 9 10 11 14 A1 A2 A3 A4

Тесты:

>>> main([('A1', '0x5'), ('A2', '0x36'), ('A3', '0x1'), ('A4', '0x7')])
'16229'

>>> main([('A1', '0xa'), ('A2', '0x13'), ('A3', '0x1'), ('A4', '0x0')])
'1338'

>>> main([('A1', '0xc'), ('A2', '0x19'), ('A3', '0x1'), ('A4', '0x7')])
'15772'

>>> main([('A1', '0x1'), ('A2', '0x6'), ('A3', '0x1'), ('A4', '0x4')])
'9313'

Вариант №21

Задача №8

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

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

Целое.

0 1 9 10 11 12 13 14 16 17 D1 D2 D3 D5 D6

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

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

0 1 2 4 5 13 14 15 16 17 D3 D5 D2 D1 D6

Тесты:

>>> main(202812)
'0x203d2'

>>> main(89264)
'0xb17'

>>> main(142686)
'0x215e3'

>>> main(70717)
'0x43d1'

Вариант №22

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 13 14 16 V1 V2 V3 17 21 22 25 26 32 V3 V4 V5

Тесты:

>>> main({'V1': '0x9', 'V2': '0x2fb', 'V3': '0xa9', 'V4': '0x1', 'V5': '0x22'})
'2288676793'

>>> main({'V1': '0x3', 'V2': '0x158', 'V3': '0x71', 'V4': '0x6', 'V5': '0x71'})
'7610324355'

>>> main({'V1': '0x3', 'V2': '0x159', 'V3': '0xcd', 'V4': '0x5', 'V5': '0x5a'})
'6064133523'

>>> main({'V1': '0x7', 'V2': '0x335', 'V3': '0x1f', 'V4': '0x3', 'V5': '0x63'})
'6656881495'

Вариант №23

Задача №8

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

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

Десятичная строка.
0 3 4 5 6 7 8 12 13 14 W2 W3 W4 W5 W6

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

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

Тесты:

>>> main('1090')
{'W2': '0x0', 'W3': '0x2', 'W4': '0x0', 'W5': '0x4', 'W6': '0x0'}

>>> main('23779')
{'W2': '0x0', 'W3': '0x3', 'W4': '0x1', 'W5': '0x1c', 'W6': '0x2'}

>>> main('15386')
{'W2': '0x1', 'W3': '0x0', 'W4': '0x0', 'W5': '0x1c', 'W6': '0x1'}

>>> main('102')
{'W2': '0x0', 'W3': '0x3', 'W4': '0x0', 'W5': '0x0', 'W6': '0x0'}

Вариант №24

Задача №8

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

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

Целое.
0 3 4 11 12 14 15 16 C1 C2 C3 C4

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

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

Тесты:

>>> main(59538)
{'C1': '2', 'C2': '137', 'C3': '6', 'C4': '1'}

>>> main(113768)
{'C1': '8', 'C2': '198', 'C3': '3', 'C4': '3'}

>>> main(92811)
{'C1': '11', 'C2': '168', 'C3': '6', 'C4': '2'}

>>> main(123712)
{'C1': '0', 'C2': '52', 'C3': '6', 'C4': '3'}

Вариант №25

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 10 12 13 14 23 G1 G2 G3 G4 G5

Тесты:

>>> main([('G1', '0x199'), ('G2', '0x1'), ('G3', '0x0'), ('G4', '0x1'), ('G5', '0x19b')])
'6742937'

>>> main([('G1', '0x12c'), ('G2', '0x1'), ('G3', '0x1'), ('G4', '0x1'), ('G5', '0x3c0')])
'15738668'

>>> main([('G1', '0x1bf'), ('G2', '0x1'), ('G3', '0x1'), ('G4', '0x0'), ('G5', '0x348')])
'13764543'

>>> main([('G1', '0x8'), ('G2', '0x1'), ('G3', '0x6'), ('G4', '0x1'), ('G5', '0x227')])
'9042440'

Вариант №26

Задача №8

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

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

Целое.
0 7 8 9 10 18 19 22 23 28 J1 J2 J3 J4 J5

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

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

Тесты:

>>> main(239942723)
[('J1', '0x43'), ('J2', '0x0'), ('J3', '0x14f'), ('J4', '0x9'), ('J5', '0x1c')]

>>> main(153349233)
[('J1', '0x71'), ('J2', '0x0'), ('J3', '0xfb'), ('J4', '0x4'), ('J5', '0x12')]

>>> main(258462270)
[('J1', '0x3e'), ('J2', '0x2'), ('J3', '0x1f4'), ('J4', '0xc'), ('J5', '0x1e')]

>>> main(428572342)
[('J1', '0xb6'), ('J2', '0x2'), ('J3', '0xdf'), ('J4', '0x1'), ('J5', '0x33')]

Вариант №27

Задача №8

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

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

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

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

Десятичная строка.
0 2 3 4 6 7 15 16 22 B1 B2 B3 B4 B5

Тесты:

>>> main({'B1': '7', 'B2': '0', 'B3': '3', 'B4': '175', 'B5': '23'})
'1529783'

>>> main({'B1': '1', 'B2': '1', 'B3': '3', 'B4': '289', 'B5': '91'})
'6000825'

>>> main({'B1': '7', 'B2': '0', 'B3': '6', 'B4': '294', 'B5': '124'})
'8164199'

>>> main({'B1': '5', 'B2': '1', 'B3': '4', 'B4': '155', 'B5': '17'})
'1134029'

Вариант №28

Задача №8

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

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

Целое.

0 1 2 3 4 7 8 17 Q1 Q2 Q3 Q4 Q5

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

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

0 9 10 13 14 15 16 17 Q5 Q4 Q3 Q2 Q1

Тесты:

>>> main(30644)
'27767'

>>> main(255708)
'63462'

>>> main(113983)
'249277'

>>> main(75053)
'182565'

Вариант №29

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 15 16 24 25 26 27 28 O1 O2 O3 O4 O6

Тесты:

>>> main((343, 93, 509, 1, 0))
'66960215'

>>> main((324, 35, 473, 1, 1))
'198788932'

>>> main((253, 23, 192, 1, 2))
'314584829'

>>> main((276, 9, 331, 1, 1))
'189469460'

Вариант №30

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 10 12 13 17 18 19 X1 X2 X3 X4 X5

Тесты:

>>> main([('X1', '298'), ('X2', '1'), ('X3', '6'), ('X4', '17'), ('X5', '1')])
'408362'

>>> main([('X1', '226'), ('X2', '1'), ('X3', '3'), ('X4', '18'), ('X5', '2')])
'675554'

>>> main([('X1', '134'), ('X2', '1'), ('X3', '4'), ('X4', '31'), ('X5', '2')])
'782982'

>>> main([('X1', '356'), ('X2', '1'), ('X3', '0'), ('X4', '12'), ('X5', '1')])
'361316'

Вариант №31

Задача №8

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

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

Шестнадцатиричная строка.
0 5 6 7 12 13 R1 R2 R3 R4

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

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

Тесты:

>>> main('0x992')
{'R1': '0x12', 'R2': '0x0', 'R3': '0x13', 'R4': '0x0'}

>>> main('0x3de7')
{'R1': '0x27', 'R2': '0x1', 'R3': '0x3b', 'R4': '0x1'}

>>> main('0x24a3')
{'R1': '0x23', 'R2': '0x0', 'R3': '0x9', 'R4': '0x1'}

>>> main('0x2a78')
{'R1': '0x38', 'R2': '0x1', 'R3': '0x14', 'R4': '0x1'}

Вариант №32

Задача №8

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

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

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

0 7 8 15 16 21 22 25 26 27 30 A1 A2 A3 A4 A6

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

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

0 5 6 9 10 17 18 21 22 23 30 A3 A4 A1 A6 A2

Тесты:

>>> main('1798336742')
'0x38379b30'

>>> main('1294107446')
'0x41a4d922'

>>> main('1225998216')
'0x1fa62113'

>>> main('677864305')
'0x3195c467'

Вариант №33

Задача №8

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

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

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

0 3 4 11 12 19 20 21 I1 I2 I3 I4 22 29 30 34 35 42 I4 I5 I6

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

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

0 9 10 14 15 18 19 21 I4 I5 I1 I2 22 26 27 34 35 42 I2 I6 I3

Тесты:

>>> main('2940309753539')
'0x722af61c981'

>>> main('3409425559376')
'0x4b31fa81d19'

>>> main('4521234819509')
'0x4341cdacae9'

>>> main('1103532768012')
'0x6d905860efa'

Вариант №34

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 17 18 26 27 30 F1 F3 F4

Тесты:

>>> main(('0x356', '0xe7', '0x0'))
'60556118'

>>> main(('0x39', '0xb3', '0x4'))
'583794745'

>>> main(('0x3d8', '0xd1', '0x6'))
'860095448'

>>> main(('0x100', '0xb4', '0x1'))
'181403904'

Вариант №35

Задача №8

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

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

Шестнадцатиричная строка.
0 6 7 15 16 22 23 25 W2 W3 W4

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

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

Тесты:

>>> main('0x46070e')
[('W2', '14'), ('W3', '70'), ('W4', '0')]

>>> main('0x29d4a14')
[('W2', '148'), ('W3', '29'), ('W4', '5')]

>>> main('0x3f6a937')
[('W2', '338'), ('W3', '118'), ('W4', '7')]

>>> main('0xf9227e')
[('W2', '68'), ('W3', '121'), ('W4', '1')]

Вариант №36

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 8 9 15 E1 E2 16 24 25 31 E3

Тесты:

>>> main(('190', '90', '417'))
'0x1a1b4be'

>>> main(('136', '126', '339'))
'0x153fc88'

>>> main(('130', '14', '47'))
'0x2f1c82'

>>> main(('276', '9', '433'))
'0x1b11314'

Вариант №37

Задача №8

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

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

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

0 8 9 12 13 14 15 P1 P2 P3 P4

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

Целое.

0 3 4 5 6 14 15 P2 P3 P1 P4

Тесты:

>>> main('37402')
34441

>>> main('27507')
23797

>>> main('51830')
40357

>>> main('37669')
51529

Вариант №38

Задача №8

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

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

Целое.
0 1 2 3 4 10 K1 K2 K4

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

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

Тесты:

>>> main(1791)
[('K1', '0x3'), ('K2', '0x1'), ('K4', '0x6f')]

>>> main(1366)
[('K1', '0x2'), ('K2', '0x1'), ('K4', '0x55')]

>>> main(1888)
[('K1', '0x0'), ('K2', '0x0'), ('K4', '0x76')]

>>> main(1290)
[('K1', '0x2'), ('K2', '0x0'), ('K4', '0x50')]

Вариант №39

Задача №8

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

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

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

0 8 9 11 12 21 22 23 27 28 P1 P2 P3 P4 P5 P6

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

Целое.

0 9 10 11 19 20 22 23 24 28 P3 P6 P1 P2 P4 P5

Тесты:

>>> main('378622053')
218311957

>>> main('362762098')
192648692

>>> main('258295005')
514255444

>>> main('47450382')
97022272

Вариант №40

Задача №8

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

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

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

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

Целое.
0 1 5 6 8 9 10 17 18 24 R2 R3 R4 R5 R6

Тесты:

>>> main([('R2', 13), ('R3', 3), ('R4', 0), ('R5', 205), ('R6', 57)])
15152346

>>> main([('R2', 10), ('R3', 1), ('R4', 0), ('R5', 110), ('R6', 72)])
18987092

>>> main([('R2', 11), ('R3', 7), ('R4', 1), ('R5', 232), ('R6', 31)])
8365014

>>> main([('R2', 22), ('R3', 0), ('R4', 0), ('R5', 186), ('R6', 9)])
2549804