ИКБО-07-22

Вариант №1

Задача №8

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

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

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

0 1 2 8 9 16 U1 U2 U3 U4 17 24 25 33 U5 U6

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

Целое.

0 1 9 10 16 U1 U6 U3 17 24 25 32 33 U4 U5 U2

Тесты:

>>> main('774620948')
734467118

>>> main('403252452')
153412632

>>> main('1986768441')
1806579831

>>> main('14674667898')
11503500138

Вариант №2

Задача №8

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

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

Целое.

0 7 8 15 16 17 18 20 21 25 26 28 V1 V2 V3 V5 V6

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

Целое.

0 7 8 12 13 20 21 23 24 25 26 28 V1 V5 V2 V6 V3

Тесты:

>>> main(109087027)
3224627

>>> main(181423036)
4814524

>>> main(399987051)
61488747

>>> main(266118447)
7650863

Вариант №3

Задача №8

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

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

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

0 2 3 12 13 17 18 24 25 30 V1 V2 V3 V4 V5

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

Целое.

0 5 6 15 16 18 19 25 26 30 V5 V2 V1 V4 V3

Тесты:

>>> main('389636547')
779292171

>>> main('1126009486')
842945633

>>> main('1052756618')
2038060127

>>> main('440035088')
1282422925

Вариант №4

Задача №8

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

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

Целое.

0 3 4 12 13 18 19 26 D2 D3 D4

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

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

0 8 9 14 15 18 19 26 D2 D3 D4

Тесты:

>>> main(48484516)
'0x2e03d0a'

>>> main(107844378)
'0x6685931'

>>> main(19508776)
'0x1281ae2'

>>> main(3448233)
'0x3049da'

Вариант №5

Задача №8

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

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

Целое.

0 1 4 5 11 12 21 22 26 D1 D2 D3 D4 D5

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

Целое.

0 6 7 10 11 20 21 25 26 D3 D2 D4 D5 D1

Тесты:

>>> main(52123215)
93170610

>>> main(103664043)
118940365

>>> main(72244814)
36121586

>>> main(44816283)
89517756

Вариант №6

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 8 9 16 17 26 H2 H3 H4

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

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

Тесты:

>>> main('0xee4e4')
{'H2': 57, 'H3': 114, 'H4': 7}

>>> main('0x4ba562f')
{'H2': 11, 'H3': 43, 'H4': 605}

>>> main('0x50914b1')
{'H2': 44, 'H3': 138, 'H4': 644}

>>> main('0x6d6c323')
{'H2': 72, 'H3': 97, 'H4': 875}

Вариант №7

Задача №8

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

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

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

0 4 5 6 9 10 12 N2 N3 N4

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

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

0 1 5 6 8 9 12 N2 N4 N3

Тесты:

>>> main('406')
'3072'

>>> main('7806')
'5057'

>>> main('6336')
'1920'

>>> main('3417')
'2752'

Вариант №8

Задача №8

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

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

Целое.

0 3 4 11 12 16 17 19 W1 W2 W4

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

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

0 2 3 10 11 14 15 19 W4 W2 W1

Тесты:

>>> main(32907)
'0x5840'

>>> main(24542)
'0x77e8'

>>> main(289753)
'0x4dea'

>>> main(871034)
'0x553e'

Вариант №9

Задача №8

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

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

Шестнадцатиричная строка.
0 4 5 7 8 16 17 18 M1 M2 M3 M4 19 25 26 28 29 37 M4 M5 M6

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

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

Тесты:

>>> main('0x3d391ed417')
(23, 0, 212, 143, 6, 489)

>>> main('0x19546917d2')
(18, 6, 279, 52, 5, 202)

>>> main('0x216196457a')
(26, 3, 69, 203, 0, 267)

>>> main('0x3c0446d84e')
(14, 2, 216, 35, 1, 480)

Вариант №10

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 7 8 11 12 13 20 D1 D2 D3 D4 D5

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

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

Тесты:

>>> main('0x17443b')
('3', '14', '4', '0', '186')

>>> main('0xaf0e8')
('0', '58', '0', '1', '87')

>>> main('0xeb218')
('0', '6', '2', '1', '117')

>>> main('0xbb094')
('0', '37', '0', '1', '93')

Вариант №11

Задача №8

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

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

Целое.
0 1 2 5 6 11 12 16 17 26 27 28 E1 E2 E3 E4 E5 E6

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

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

Тесты:

>>> main(165157260)
(0, 3, 38, 1, 236, 1)

>>> main(72666253)
(1, 3, 50, 12, 554, 0)

>>> main(111693476)
(0, 9, 58, 4, 852, 0)

>>> main(22684798)
(2, 15, 17, 2, 173, 0)

Вариант №12

Задача №8

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

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

Целое.

0 6 7 13 14 18 I1 I2 I3 19 20 27 28 30 31 36 I3 I4 I5 I6

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

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

0 5 6 8 9 14 15 18 I3 I5 I6 I2 19 21 22 28 29 36 I2 I1 I4

Тесты:

>>> main(4396612757)
'51631653947'

>>> main(36571210869)
'33242227201'

>>> main(115192185710)
'17104595829'

>>> main(111551051127)
'77275162583'

Вариант №13

Задача №8

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

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

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

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

Десятичная строка.
0 1 2 4 5 7 8 13 14 16 17 21 C1 C3 C4 C5 C6

Тесты:

>>> main({'C1': 0, 'C3': 7, 'C4': 12, 'C5': 0, 'C6': 8})
'1051872'

>>> main({'C1': 0, 'C3': 0, 'C4': 5, 'C5': 7, 'C6': 9})
'1295616'

>>> main({'C1': 0, 'C3': 3, 'C4': 22, 'C5': 6, 'C6': 29})
'3905120'

>>> main({'C1': 1, 'C3': 1, 'C4': 41, 'C5': 7, 'C6': 11})
'1567009'

Вариант №14

Задача №8

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

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

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

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

Целое.
0 2 3 9 10 11 14 15 22 23 K1 K2 K3 K4 K5 K6

Тесты:

>>> main([('K1', '4'), ('K2', '94'), ('K3', '0'), ('K4', '15'), ('K5', '34'), ('K6', '1')])
9534196

>>> main([('K1', '1'), ('K2', '42'), ('K3', '0'), ('K4', '11'), ('K5', '27'), ('K6', '1')])
9296209

>>> main([('K1', '1'), ('K2', '120'), ('K3', '1'), ('K4', '5'), ('K5', '147'), ('K6', '0')])
4829121

>>> main([('K1', '2'), ('K2', '33'), ('K3', '0'), ('K4', '10'), ('K5', '172'), ('K6', '1')])
14045450

Вариант №15

Задача №8

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

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

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

0 2 3 11 12 17 18 26 H1 H3 H4

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

Целое.

0 8 9 11 12 17 18 26 H4 H1 H3

Тесты:

>>> main('0x6abb877')
245674

>>> main('0x761ac1e')
110040

>>> main('0x39ec307')
184039

>>> main('0x7740f27')
4061

Вариант №16

Задача №8

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

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

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

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

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

Тесты:

>>> main(('4', '1', '56', '28'))
'0xe38c'

>>> main(('3', '1', '35', '32'))
'0x1023b'

>>> main(('5', '0', '43', '59'))
'0x1dab5'

>>> main(('0', '1', '3', '34'))
'0x11038'

Вариант №17

Задача №8

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

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

Целое.

0 6 7 13 14 15 16 20 G1 G2 G4

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

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

0 4 5 6 7 13 14 20 G4 G1 G2

Тесты:

>>> main(652783)
'0x1af789'

>>> main(444794)
'0x4bd06'

>>> main(1819868)
'0x26e1b'

>>> main(1313656)
'0x5bc14'

Вариант №18

Задача №8

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

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

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

0 7 8 9 10 11 15 16 17 18 21 R1 R2 R4 R5 R6

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

Целое.

0 7 8 9 10 13 14 18 19 20 21 R1 R2 R6 R4 R5

Тесты:

>>> main('1799393')
1808609

>>> main('3288415')
1143135

>>> main('3767274')
785386

>>> main('2901093')
142437

Вариант №19

Задача №8

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

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

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

0 8 9 11 12 17 18 21 22 27 N1 N2 N3 N4

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

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

0 8 9 14 15 18 19 21 22 27 N1 N3 N4 N2

Тесты:

>>> main('4021760')
'4172288'

>>> main('1863523')
'3902819'

>>> main('4086709')
'3132341'

>>> main('4058639')
'4176911'

Вариант №20

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 12 13 15 S1 S2 S3 16 19 20 23 24 25 31 S3 S4 S5

Тесты:

>>> main(('0xb', '0x59', '0x62', '0xe', '0x1'))
'0x1ec459b'

>>> main(('0x0', '0x32', '0x71', '0x5', '0x1'))
'0x15e2320'

>>> main(('0x6', '0x1ca', '0x65', '0x5', '0x1'))
'0x15cbca6'

>>> main(('0xf', '0x52', '0x58', '0x6', '0x0'))
'0x6b052f'

Вариант №21

Задача №8

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

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

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

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

Целое.
0 4 5 9 10 12 13 14 23 24 27 C1 C2 C4 C5 C6

Тесты:

>>> main({'C1': 7, 'C2': 21, 'C4': 0, 'C5': 3, 'C6': 0})
49831

>>> main({'C1': 1, 'C2': 29, 'C4': 1, 'C5': 668, 'C6': 10})
178725793

>>> main({'C1': 23, 'C2': 4, 'C4': 1, 'C5': 635, 'C6': 15})
262070423

>>> main({'C1': 26, 'C2': 3, 'C4': 1, 'C5': 866, 'C6': 11})
198746234

Вариант №22

Задача №8

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

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

Целое.

0 5 6 14 15 16 17 Z1 Z2 Z3 Z4

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

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

0 5 6 7 8 16 17 Z1 Z4 Z2 Z3

Тесты:

>>> main(96335)
'123215'

>>> main(127879)
'249415'

>>> main(16767)
'66879'

>>> main(88477)
'91741'

Вариант №23

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 19 20 27 E1 E3 28 29 37 38 45 46 55 E3 E4 E5 E6

Тесты:

>>> main((979, 375, 188, 79, 593))
'41750481976951763'

>>> main((945, 240, 122, 196, 553))
'38967857349919665'

>>> main((745, 233, 180, 248, 953))
'67129679803319017'

>>> main((161, 320, 104, 90, 392))
'27609342899388577'

Вариант №24

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 13 14 17 K1 K2 K3 18 20 21 29 30 31 32 35 K3 K4 K5 K6

Тесты:

>>> main({'K1': '0x19', 'K2': '0x1f0', 'K3': '0x3c', 'K4': '0x4', 'K5': '0x0', 'K6': '0x8'})
'0x8008f3e19'

>>> main({'K1': '0x9', 'K2': '0x172', 'K3': '0x1a', 'K4': '0x198', 'K5': '0x1', 'K6': '0xf'})
'0xf7306ae49'

>>> main({'K1': '0x11', 'K2': '0x14f', 'K3': '0x7e', 'K4': '0x1eb', 'K5': '0x1', 'K6': '0xd'})
'0xd7d7fa9f1'

>>> main({'K1': '0x7', 'K2': '0x17', 'K3': '0x27', 'K4': '0xb5', 'K5': '0x2', 'K6': '0xa'})
'0xa96a9c2e7'

Вариант №25

Задача №8

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

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

Десятичная строка.
0 9 10 12 13 22 23 24 J1 J2 J3 J4

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

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

Тесты:

>>> main('4369309')
{'J1': '925', 'J2': '2', 'J3': '533', 'J4': '0'}

>>> main('9504523')
{'J1': '779', 'J2': '1', 'J3': '136', 'J4': '1'}

>>> main('8112118')
{'J1': '1014', 'J2': '1', 'J3': '990', 'J4': '0'}

>>> main('32043315')
{'J1': '307', 'J2': '4', 'J3': '839', 'J4': '3'}

Вариант №26

Задача №8

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

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

Целое.
0 4 5 8 9 14 15 20 21 28 C1 C2 C3 C4 C5

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

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

Тесты:

>>> main(94626633)
{'C1': 9, 'C2': 10, 'C3': 49, 'C4': 7, 'C5': 45}

>>> main(41548296)
{'C1': 8, 'C2': 0, 'C3': 61, 'C4': 51, 'C5': 19}

>>> main(346469362)
{'C1': 18, 'C2': 15, 'C3': 25, 'C4': 13, 'C5': 165}

>>> main(298574904)
{'C1': 24, 'C2': 1, 'C3': 50, 'C4': 23, 'C5': 142}

Вариант №27

Задача №8

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

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

Целое.
0 7 8 15 16 17 23 U1 U2 U3 U4

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

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

Тесты:

>>> main(11116542)
('0xfe', '0x9f', '0x1', '0x54')

>>> main(11301003)
('0x8b', '0x70', '0x0', '0x56')

>>> main(4354631)
('0x47', '0x72', '0x0', '0x21')

>>> main(13856820)
('0x34', '0x70', '0x1', '0x69')

Вариант №28

Задача №8

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

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

Целое.
0 1 2 8 9 16 17 19 20 21 V1 V2 V3 V4 V5

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

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

Тесты:

>>> main(3822291)
[('V1', '3'), ('V2', '52'), ('V3', '41'), ('V4', '5'), ('V5', '3')]

>>> main(2353443)
[('V1', '3'), ('V2', '72'), ('V3', '244'), ('V4', '1'), ('V5', '2')]

>>> main(743089)
[('V1', '1'), ('V2', '44'), ('V3', '171'), ('V4', '5'), ('V5', '0')]

>>> main(3912848)
[('V1', '0'), ('V2', '36'), ('V3', '218'), ('V4', '5'), ('V5', '3')]

Вариант №29

Задача №8

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

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

Десятичная строка.
0 1 2 5 6 13 14 15 O1 O2 O3 O4 16 23 24 31 O5 O6

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

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

Тесты:

>>> main('1649450353')
('1', '12', '117', '2', '80', '98')

>>> main('2493197266')
('2', '4', '175', '0', '155', '148')

>>> main('173391177')
('1', '2', '245', '2', '85', '10')

>>> main('1728495411')
('3', '12', '252', '2', '6', '103')

Вариант №30

Задача №8

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

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

Десятичная строка.
0 6 7 8 9 10 14 L1 L2 L4

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

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

Тесты:

>>> main('12968')
{'L1': '40', 'L2': '1', 'L4': '12'}

>>> main('18267')
{'L1': '91', 'L2': '0', 'L4': '17'}

>>> main('26418')
{'L1': '50', 'L2': '0', 'L4': '25'}

>>> main('28457')
{'L1': '41', 'L2': '0', 'L4': '27'}

Вариант №31

Задача №8

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

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

Целое.
0 1 2 11 12 16 17 18 D1 D2 D3 D4

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

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

Тесты:

>>> main(284665)
[('D1', 1), ('D2', 510), ('D3', 5), ('D4', 2)]

>>> main(435161)
[('D1', 1), ('D2', 246), ('D3', 10), ('D4', 3)]

>>> main(431781)
[('D1', 1), ('D2', 425), ('D3', 9), ('D4', 3)]

>>> main(54353)
[('D1', 1), ('D2', 276), ('D3', 13), ('D4', 0)]

Вариант №32

Задача №8

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

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

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

0 9 10 15 16 17 P1 P2 P3 18 19 25 26 34 P3 P4 P5

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

Целое.

0 9 10 16 17 P1 P4 P5 18 25 26 28 29 34 P5 P3 P2

Тесты:

>>> main('0x197573e92')
8536173202

>>> main('0x32309378f')
7072745359

>>> main('0x7c24219b1')
3420529073

>>> main('0x3044b669a')
13648406170

Вариант №33

Задача №8

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

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

Целое.

0 1 2 5 6 14 15 17 P1 P2 P3 P4

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

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

0 2 3 6 7 8 9 17 P4 P2 P1 P3

Тесты:

>>> main(52716)
'0x26e59'

>>> main(145296)
'0x1bc24'

>>> main(246803)
'0x221a7'

>>> main(169283)
'0xab85'

Вариант №34

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 18 19 20 21 26 27 30 S1 S3 S4 S5

Тесты:

>>> main({'S1': '0x1de', 'S3': '0x2', 'S4': '0x34', 'S5': '0x1'})
'0xe9001de'

>>> main({'S1': '0x267', 'S3': '0x1', 'S4': '0x22', 'S5': '0x0'})
'0x4480267'

>>> main({'S1': '0x208', 'S3': '0x2', 'S4': '0x3a', 'S5': '0x8'})
'0x47500208'

>>> main({'S1': '0x360', 'S3': '0x0', 'S4': '0x16', 'S5': '0x5'})
'0x2ac00360'

Вариант №35

Задача №8

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

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

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

0 6 7 16 Q1 Q2 17 22 23 24 26 27 32 Q3 Q4 Q5 Q6

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

Целое.

0 6 7 8 10 11 16 Q1 Q4 Q5 Q3 17 26 27 32 Q2 Q6

Тесты:

>>> main('0x6d733da0')
1828179232

>>> main('0x17a268429')
6342875689

>>> main('0xdbb64893')
3642940307

>>> main('0x1956f8234')
6812187956

Вариант №36

Задача №8

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

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

Десятичная строка.
0 7 8 14 15 18 19 U1 U2 U3 U4

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

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

Тесты:

>>> main('177707')
[('U1', '0x2b'), ('U2', '0x36'), ('U3', '0x5'), ('U4', '0x0')]

>>> main('446302')
[('U1', '0x5e'), ('U2', '0x4f'), ('U3', '0xd'), ('U4', '0x0')]

>>> main('569992')
[('U1', '0x88'), ('U2', '0x32'), ('U3', '0x1'), ('U4', '0x1')]

>>> main('161409')
[('U1', '0x81'), ('U2', '0x76'), ('U3', '0x4'), ('U4', '0x0')]

Вариант №37

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 17 18 E1 E2 E3 19 23 24 30 31 37 E3 E4 E5

Тесты:

>>> main({'E1': 79, 'E2': 112, 'E3': 45, 'E4': 8, 'E5': 97})
'208452042831'

>>> main({'E1': 890, 'E2': 150, 'E3': 32, 'E4': 114, 'E5': 106})
'229554412410'

>>> main({'E1': 660, 'E2': 135, 'E3': 12, 'E4': 26, 'E5': 66})
'142173413012'

>>> main({'E1': 662, 'E2': 201, 'E3': 13, 'E4': 78, 'E5': 101})
'218208085654'

Вариант №38

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 3 4 11 12 13 15 S1 S2 S4

Тесты:

>>> main({'S1': '8', 'S2': '116', 'S4': '7'})
'0xe748'

>>> main({'S1': '12', 'S2': '7', 'S4': '7'})
'0xe07c'

>>> main({'S1': '14', 'S2': '75', 'S4': '3'})
'0x64be'

>>> main({'S1': '8', 'S2': '241', 'S4': '5'})
'0xaf18'

Вариант №39

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 12 13 15 16 23 24 27 W1 W2 W3 W4 W5

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

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

Тесты:

>>> main('0x50b0f46')
('0x6', '0x1e8', '0x0', '0xb', '0x5')

>>> main('0xd4ec24b')
('0x3', '0x49', '0x6', '0x4e', '0xd')

>>> main('0xbd1838e')
('0x6', '0x71', '0x4', '0xd1', '0xb')

>>> main('0x64b6728')
('0x0', '0xe5', '0x3', '0x4b', '0x6')

Вариант №40

Задача №8

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

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

Десятичная строка.
0 1 2 10 11 18 N1 N2 N3 N4

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

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

Тесты:

>>> main('166451')
{'N1': '0x1', 'N2': '0x1', 'N3': '0x8c', 'N4': '0x51'}

>>> main('85246')
{'N1': '0x0', 'N2': '0x1', 'N3': '0x13f', 'N4': '0x29'}

>>> main('174399')
{'N1': '0x1', 'N2': '0x1', 'N3': '0x4f', 'N4': '0x55'}

>>> main('12624')
{'N1': '0x0', 'N2': '0x0', 'N3': '0x54', 'N4': '0x6'}