ИНБО-05-22

Вариант №1

Задача №8

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

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

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

0 4 5 12 13 14 15 20 21 27 D1 D2 D3 D5

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

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

0 6 7 14 15 16 17 22 23 27 D5 D2 D3 D1

Тесты:

>>> main('0x2c19eba')
'0xd007a96'

>>> main('0x72f30d3')
'0x980c339'

>>> main('0x2f0e726')
'0x3019c97'

>>> main('0x9c979')
'0xc812580'

Вариант №2

Задача №8

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

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

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

0 9 10 13 14 16 17 18 I1 I2 I3 I4 19 23 24 32 33 37 I4 I5

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

Целое.

0 3 4 12 13 18 I2 I5 I1 19 22 23 27 28 30 31 37 I1 I3 I4

Тесты:

>>> main('6690030072')
208041613536

>>> main('6157283180')
544052987

>>> main('346525987')
179854139716

>>> main('6416654781')
126973622248

Вариант №3

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 4 5 6 7 11 12 16 17 20 O2 O3 O4 O5

Тесты:

>>> main([('O2', '0x2'), ('O3', '0xd'), ('O4', '0x3'), ('O5', '0x3')])
'0x636c0'

>>> main([('O2', '0x3'), ('O3', '0xb'), ('O4', '0xd'), ('O5', '0xe')])
'0x1cd5e0'

>>> main([('O2', '0x3'), ('O3', '0x11'), ('O4', '0x2'), ('O5', '0x4')])
'0x828e0'

>>> main([('O2', '0x1'), ('O3', '0x1'), ('O4', '0xa'), ('O5', '0x8')])
'0x10a0a0'

Вариант №4

Задача №8

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

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

Целое.

0 8 9 10 14 15 16 M2 M3 M4 17 22 23 32 M4 M5

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

Целое.

0 7 8 16 M4 M5 17 18 26 27 28 32 M5 M2 M3

Тесты:

>>> main(8052111423)
8053309410

>>> main(7805377227)
1745068665

>>> main(3773511868)
3758211542

>>> main(7340090704)
6711110401

Вариант №5

Задача №8

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

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

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

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

Десятичная строка.
0 3 4 8 9 14 15 23 R1 R2 R3 R4

Тесты:

>>> main({'R1': 0, 'R2': 1, 'R3': 11, 'R4': 320})
'10491408'

>>> main({'R1': 5, 'R2': 17, 'R3': 59, 'R4': 1})
'63253'

>>> main({'R1': 8, 'R2': 6, 'R3': 48, 'R4': 353})
'11591784'

>>> main({'R1': 3, 'R2': 28, 'R3': 39, 'R4': 276})
'9064387'

Вариант №6

Задача №8

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

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

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

0 7 8 17 18 25 26 R2 R3 R4

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

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

0 7 8 9 16 17 26 R3 R4 R2

Тесты:

>>> main('0x42b8a88')
'0x714010a'

>>> main('0x1a83235')
'0x64006a'

>>> main('0x2d44090')
'0x8000b5'

>>> main('0x6976a58')
'0x6d401a5'

Вариант №7

Задача №8

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

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

Целое.
0 7 8 9 16 17 O1 O2 O3 O4

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

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

Тесты:

>>> main(257671)
[('O1', '135'), ('O2', '0'), ('O3', '247'), ('O4', '1')]

>>> main(11109)
[('O1', '101'), ('O2', '1'), ('O3', '21'), ('O4', '0')]

>>> main(181929)
[('O1', '169'), ('O2', '0'), ('O3', '99'), ('O4', '1')]

>>> main(97818)
[('O1', '26'), ('O2', '0'), ('O3', '191'), ('O4', '0')]

Вариант №8

Задача №8

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

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

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

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

Целое.
0 7 8 10 11 15 B2 B3 16 19 20 23 24 30 31 B3 B4 B5 B6

Тесты:

>>> main([('B2', '3'), ('B3', '297'), ('B4', '4'), ('B5', '50'), ('B6', '0')])
843664128

>>> main([('B2', '3'), ('B3', '148'), ('B4', '1'), ('B5', '35'), ('B6', '1')])
2736038656

>>> main([('B2', '2'), ('B3', '388'), ('B4', '12'), ('B5', '101'), ('B6', '1')])
3855360512

>>> main([('B2', '1'), ('B3', '217'), ('B4', '6'), ('B5', '97'), ('B6', '1')])
3781609728

Вариант №9

Задача №8

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

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

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

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

Целое.
0 9 10 16 17 18 19 27 R1 R2 R3 R4

Тесты:

>>> main([('R1', '31'), ('R2', '97'), ('R3', '3'), ('R4', '350')])
183993375

>>> main([('R1', '591'), ('R2', '127'), ('R3', '2'), ('R4', '186')])
97910351

>>> main([('R1', '923'), ('R2', '123'), ('R3', '1'), ('R4', '80')])
42200987

>>> main([('R1', '265'), ('R2', '71'), ('R3', '1'), ('R4', '157')])
82517257

Вариант №10

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 5 6 12 13 14 17 U2 U3 U4 U5

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

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

Тесты:

>>> main('0x10680')
[('U2', '0'), ('U3', '26'), ('U4', '0'), ('U5', '4')]

>>> main('0x38a03')
[('U2', '0'), ('U3', '40'), ('U4', '0'), ('U5', '14')]

>>> main('0x21875')
[('U2', '13'), ('U3', '97'), ('U4', '0'), ('U5', '8')]

>>> main('0x221bd')
[('U2', '15'), ('U3', '6'), ('U4', '1'), ('U5', '8')]

Вариант №11

Задача №8

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

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

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

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

Десятичная строка.
0 9 10 16 17 21 22 C1 C2 C3 C4 23 26 27 35 36 44 C4 C5 C6

Тесты:

>>> main({'C1': 1005, 'C2': 56, 'C3': 10, 'C4': 26, 'C5': 385, 'C6': 470})
'32349938312173'

>>> main({'C1': 446, 'C2': 115, 'C3': 14, 'C4': 3, 'C5': 209, 'C6': 466})
'32051342200254'

>>> main({'C1': 755, 'C2': 82, 'C3': 8, 'C4': 21, 'C5': 491, 'C6': 132})
'9136961047283'

>>> main({'C1': 792, 'C2': 77, 'C3': 4, 'C4': 27, 'C5': 253, 'C6': 264})
'18176012793624'

Вариант №12

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 9 10 13 14 21 22 C1 C2 C3 C4

Тесты:

>>> main(('0x388', '0xd', '0x6d', '0x0'))
'0x1b7788'

>>> main(('0x2e6', '0x2', '0x55', '0x1'))
'0x554ae6'

>>> main(('0x319', '0x4', '0x8f', '0x1'))
'0x63d319'

>>> main(('0x2b9', '0xf', '0x57', '0x0'))
'0x15feb9'

Вариант №13

Задача №8

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

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

Десятичная строка.
0 7 8 10 11 14 15 19 K1 K2 K3 K4 20 24 25 29 30 38 K4 K6

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

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

Тесты:

>>> main('77783434340')
[('K1', 100), ('K2', 4), ('K3', 0), ('K4', 130), ('K6', 72)]

>>> main('518558599195')
[('K1', 27), ('K2', 0), ('K3', 9), ('K4', 256), ('K6', 482)]

>>> main('16283707795')
[('K1', 147), ('K2', 1), ('K3', 5), ('K4', 299), ('K6', 15)]

>>> main('54496750383')
[('K1', 47), ('K2', 3), ('K3', 13), ('K4', 132), ('K6', 50)]

Вариант №14

Задача №8

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

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

Целое.
0 9 10 11 12 19 20 23 E1 E2 E3

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

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

Тесты:

>>> main(736330)
{'E1': 74, 'E2': 3, 'E3': 179}

>>> main(932425)
{'E1': 585, 'E2': 2, 'E3': 227}

>>> main(986873)
{'E1': 761, 'E2': 3, 'E3': 240}

>>> main(552182)
{'E1': 246, 'E2': 3, 'E3': 134}

Вариант №15

Задача №8

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

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

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

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

Десятичная строка.
0 5 6 7 13 14 23 G1 G2 G3 G4

Тесты:

>>> main(('0x2f', '0x0', '0x27', '0x2c3'))
'11588527'

>>> main(('0x24', '0x1', '0x57', '0x120'))
'4729828'

>>> main(('0x2c', '0x1', '0x1a', '0x3ee'))
'16485740'

>>> main(('0x21', '0x0', '0x21', '0x1d4'))
'7671969'

Вариант №16

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 15 16 23 24 29 30 H1 H2 H3 H4

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

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

Тесты:

>>> main('0x1f110494')
('148', '1', '17', '31')

>>> main('0x248ea0fd')
('253', '40', '142', '36')

>>> main('0x87359a0')
('416', '22', '115', '8')

>>> main('0x2a220a3e')
('574', '2', '34', '42')

Вариант №17

Задача №8

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

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

Десятичная строка.
0 5 6 9 10 18 19 21 22 27 Z1 Z2 Z3 Z4 Z5

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

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

Тесты:

>>> main('9487459')
[('Z1', 35), ('Z2', 1), ('Z3', 49), ('Z4', 2), ('Z5', 2)]

>>> main('86004347')
[('Z1', 59), ('Z2', 9), ('Z3', 20), ('Z4', 4), ('Z5', 20)]

>>> main('136708200')
[('Z1', 40), ('Z2', 1), ('Z3', 384), ('Z4', 4), ('Z5', 32)]

>>> main('230704518')
[('Z1', 6), ('Z2', 6), ('Z3', 17), ('Z4', 0), ('Z5', 55)]

Вариант №18

Задача №8

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

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

Целое.
0 3 4 5 6 15 16 23 U1 U2 U3

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

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

Тесты:

>>> main(7061)
[('U1', 5), ('U2', 1), ('U3', 110)]

>>> main(10293)
[('U1', 5), ('U2', 3), ('U3', 160)]

>>> main(53709)
[('U1', 13), ('U2', 0), ('U3', 839)]

>>> main(27010)
[('U1', 2), ('U2', 0), ('U3', 422)]

Вариант №19

Задача №8

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

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

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

0 2 3 6 7 13 14 19 20 23 S1 S2 S3 S4 S5

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

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

0 3 4 7 8 13 14 20 21 23 S2 S5 S4 S3 S1

Тесты:

>>> main('0x3494fd')
'0xaa523f'

>>> main('0xb27979')
'0x3c89bf'

>>> main('0x69da95')
'0xad6762'

>>> main('0xbaf5b0')
'0x1aebb6'

Вариант №20

Задача №8

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

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

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

0 7 8 10 11 16 17 24 25 26 A1 A2 A3 A4 A5

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

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

0 7 8 9 10 17 18 23 24 26 A1 A5 A4 A3 A2

Тесты:

>>> main('0x7c37375')
'62621557'

>>> main('0x7ed0d06')
'92789510'

>>> main('0x436d8b4')
'7106228'

>>> main('0x625660e')
'112216846'

Вариант №21

Задача №8

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

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

Целое.
0 7 8 9 10 12 13 20 21 23 Z1 Z2 Z3 Z4 Z5

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

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

Тесты:

>>> main(454474)
(74, 1, 1, 3, 55)

>>> main(672631)
(119, 1, 1, 0, 82)

>>> main(875518)
(254, 1, 1, 6, 106)

>>> main(156867)
(195, 0, 0, 1, 19)

Вариант №22

Задача №8

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

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

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

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

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

Тесты:

>>> main('763380')
{'A1': '4', 'A2': '62', 'A3': '9', 'A4': '46'}

>>> main('120012')
{'A1': '4', 'A2': '25', 'A3': '5', 'A4': '7'}

>>> main('101751')
{'A1': '7', 'A2': '46', 'A3': '3', 'A4': '6'}

>>> main('251961')
{'A1': '1', 'A2': '7', 'A3': '6', 'A4': '15'}

Вариант №23

Задача №8

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

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

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

0 6 7 9 10 11 15 16 22 K1 K2 K3 K4 K5

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

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

0 6 7 11 12 13 15 16 22 K1 K4 K3 K2 K5

Тесты:

>>> main('1870443')
'0x1c88eb'

>>> main('4883685')
'0x4a3865'

>>> main('6980345')
'0x6aa879'

>>> main('1120720')
'0x1161d0'

Вариант №24

Задача №8

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

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

Шестнадцатиричная строка.
0 2 3 7 8 13 14 15 24 S1 S2 S3 S4 S5

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

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

Тесты:

>>> main('0x1bb8ddb')
{'S1': '0x3', 'S2': '0x1b', 'S3': '0xd', 'S4': '0x0', 'S5': '0x377'}

>>> main('0xd82827')
{'S1': '0x7', 'S2': '0x4', 'S3': '0x28', 'S4': '0x0', 'S5': '0x1b0'}

>>> main('0xa5db22')
{'S1': '0x2', 'S2': '0x4', 'S3': '0x1b', 'S4': '0x1', 'S5': '0x14b'}

>>> main('0x1fb545f')
{'S1': '0x7', 'S2': '0xb', 'S3': '0x14', 'S4': '0x1', 'S5': '0x3f6'}

Вариант №25

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 7 8 15 16 21 K1 K2 K3 22 23 31 32 33 34 43 K3 K4 K5 K6

Тесты:

>>> main({'K1': '0x58', 'K2': '0x99', 'K3': '0x45', 'K4': '0xfe', 'K5': '0x1', 'K6': '0x3f4'})
'0xfd17f459958'

>>> main({'K1': '0x5', 'K2': '0x7d', 'K3': '0x1', 'K4': '0x1ae', 'K5': '0x3', 'K6': '0x7'})
'0x1fd7017d05'

>>> main({'K1': '0xb', 'K2': '0xb9', 'K3': '0x1a', 'K4': '0x1c1', 'K5': '0x3', 'K6': '0x244'})
'0x913e09ab90b'

>>> main({'K1': '0xe0', 'K2': '0x30', 'K3': '0x6d', 'K4': '0x35', 'K5': '0x1', 'K6': '0x3e0'})
'0xf811aed30e0'

Вариант №26

Задача №8

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

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

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

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

Целое.
0 4 5 10 11 19 K1 K2 K3 20 25 26 29 30 39 K4 K5 K6

Тесты:

>>> main([('K1', '0x3'), ('K2', '0x30'), ('K3', '0x11e'), ('K4', '0x23'), ('K5', '0x1'), ('K6', '0x2a')])
45201552899

>>> main([('K1', '0x1f'), ('K2', '0x34'), ('K3', '0x182'), ('K4', '0x17'), ('K5', '0x8'), ('K6', '0xa7')])
179876664991

>>> main([('K1', '0x8'), ('K2', '0x2b'), ('K3', '0x33'), ('K4', '0xe'), ('K5', '0x9'), ('K6', '0x173')])
398976982376

>>> main([('K1', '0x16'), ('K2', '0xf'), ('K3', '0x1de'), ('K4', '0x3d'), ('K5', '0xe'), ('K6', '0x2e6')])
797720900086

Вариант №27

Задача №8

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

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

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

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

Целое.
0 7 8 11 12 19 20 J1 J2 J3 J4 21 25 26 32 33 41 J4 J5 J6

Тесты:

>>> main({'J1': '0x52', 'J2': '0xd', 'J3': '0x6', 'J4': '0x1', 'J5': '0x7a', 'J6': '0x44'})
592303910226

>>> main({'J1': '0x33', 'J2': '0x6', 'J3': '0x5f', 'J4': '0x1f', 'J5': '0x28', 'J6': '0x1de'})
4108705986099

>>> main({'J1': '0x58', 'J2': '0x8', 'J3': '0x91', 'J4': '0x34', 'J5': '0x15', 'J6': '0x87'})
1161105578072

>>> main({'J1': '0x2b', 'J2': '0x0', 'J3': '0xf7', 'J4': '0x22', 'J5': '0x3', 'J6': '0x1ab'})
3668140060715

Вариант №28

Задача №8

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

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

Шестнадцатиричная строка.
0 9 10 13 14 19 20 Z1 Z2 Z3 Z4 21 28 29 36 37 40 Z4 Z5 Z6

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

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

Тесты:

>>> main('0x1fdab3d011d')
{'Z1': '285', 'Z2': '0', 'Z3': '52', 'Z4': '179', 'Z5': '237', 'Z6': '15'}

>>> main('0x18cbbdcab16')
{'Z1': '790', 'Z2': '10', 'Z3': '50', 'Z4': '445', 'Z5': '101', 'Z6': '12'}

>>> main('0x1e70e4a376a')
{'Z1': '874', 'Z2': '13', 'Z3': '40', 'Z4': '228', 'Z5': '56', 'Z6': '15'}

>>> main('0x15a1768ef0')
{'Z1': '752', 'Z2': '3', 'Z3': '26', 'Z4': '23', 'Z5': '173', 'Z6': '0'}

Вариант №29

Задача №8

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

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

Шестнадцатиричная строка.
0 1 9 10 11 13 14 17 18 26 G1 G2 G3 G5 G6

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

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

Тесты:

>>> main('0xf78a09')
[('G1', 1), ('G2', 260), ('G3', 0), ('G5', 14), ('G6', 61)]

>>> main('0x1faaab9')
[('G1', 1), ('G2', 348), ('G3', 0), ('G5', 10), ('G6', 126)]

>>> main('0x3f60d09')
[('G1', 1), ('G2', 132), ('G3', 1), ('G5', 8), ('G6', 253)]

>>> main('0x3f67bb8')
[('G1', 0), ('G2', 476), ('G3', 0), ('G5', 9), ('G6', 253)]

Вариант №30

Задача №8

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

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

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

0 7 8 12 13 16 17 18 19 27 D1 D2 D3 D4 D5

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

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

0 1 2 6 7 15 16 19 20 27 D4 D2 D5 D3 D1

Тесты:

>>> main('0x9026ba2')
'0xa23902d'

>>> main('0x8f15ecf')
'0xcfa8f78'

>>> main('0x7f18860')
'0x60c7f20'

>>> main('0x2c0ac80')
'0x8052c30'

Вариант №31

Задача №8

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

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

Целое.
0 1 2 3 7 8 12 13 15 16 24 N1 N2 N3 N4 N5 N6

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

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

Тесты:

>>> main(25168782)
[('N1', 0), ('N2', 3), ('N3', 17), ('N4', 11), ('N5', 0), ('N6', 384)]

>>> main(15138385)
[('N1', 1), ('N2', 0), ('N3', 10), ('N4', 30), ('N5', 7), ('N6', 230)]

>>> main(17775945)
[('N1', 1), ('N2', 0), ('N3', 9), ('N4', 29), ('N5', 1), ('N6', 271)]

>>> main(18130657)
[('N1', 1), ('N2', 0), ('N3', 28), ('N4', 6), ('N5', 5), ('N6', 276)]

Вариант №32

Задача №8

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

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

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

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

Шестнадцатиричная строка.
0 2 3 10 11 13 14 16 L1 L2 L3 L4

Тесты:

>>> main(('0', '75', '4', '7'))
'0x1e258'

>>> main(('4', '168', '3', '6'))
'0x19d44'

>>> main(('4', '85', '2', '6'))
'0x192ac'

>>> main(('7', '92', '2', '1'))
'0x52e7'

Вариант №33

Задача №8

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

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

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

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

Десятичная строка.
0 8 9 16 17 19 R1 R2 R3 20 21 22 27 28 34 35 39 R3 R5 R6

Тесты:

>>> main({'R1': '0x32', 'R2': '0xa4', 'R3': '0xb', 'R5': '0x2b', 'R6': '0x17'})
'801818232882'

>>> main({'R1': '0x61', 'R2': '0xda', 'R3': '0x1', 'R5': '0x28', 'R6': '0x9'})
'319975306337'

>>> main({'R1': '0xd5', 'R2': '0x4c', 'R3': '0x16', 'R5': '0x54', 'R6': '0x1'})
'56911239381'

>>> main({'R1': '0xf8', 'R2': '0x66', 'R3': '0x19', 'R5': '0x19', 'R6': '0x3'})
'109793430776'

Вариант №34

Задача №8

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

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

Десятичная строка.
0 7 8 16 H1 H2 17 18 21 22 23 24 33 H2 H3 H5

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

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

Тесты:

>>> main('3056528528')
('0x90', '0x2ec', '0xb', '0xb6')

>>> main('3015546269')
('0x9d', '0x195', '0xf', '0xb3')

>>> main('679553110')
('0x56', '0x128', '0x0', '0x28')

>>> main('2864487142')
('0xe6', '0x9a', '0xf', '0xaa')

Вариант №35

Задача №8

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

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

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

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

Десятичная строка.
0 4 5 13 14 18 P1 P2 P3 19 21 22 29 30 37 P3 P4 P5

Тесты:

>>> main({'P1': 13, 'P2': 11, 'P3': 51, 'P4': 68, 'P5': 212})
'227919315309'

>>> main({'P1': 9, 'P2': 377, 'P3': 152, 'P4': 125, 'P5': 199})
'214201413417'

>>> main({'P1': 22, 'P2': 383, 'P3': 208, 'P4': 100, 'P5': 134})
'144304254966'

>>> main({'P1': 28, 'P2': 418, 'P3': 152, 'P4': 48, 'P5': 214})
'229984580700'

Вариант №36

Задача №8

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

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

Целое.
0 8 9 10 11 15 16 25 Q1 Q2 Q3 Q4

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

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

Тесты:

>>> main(25359282)
[('Q1', 434), ('Q2', 1), ('Q3', 30), ('Q4', 386)]

>>> main(54480184)
[('Q1', 312), ('Q2', 2), ('Q3', 9), ('Q4', 831)]

>>> main(60526220)
[('Q1', 140), ('Q2', 3), ('Q3', 17), ('Q4', 923)]

>>> main(37915940)
[('Q1', 292), ('Q2', 2), ('Q3', 17), ('Q4', 578)]

Вариант №37

Задача №8

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

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

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

0 2 3 8 9 10 11 18 19 21 O1 O2 O3 O4

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

Целое.

0 2 3 5 6 11 12 19 20 21 O1 O2 O4 O3

Тесты:

>>> main('406055')
1859847

>>> main('332117')
666245

>>> main('485547')
972099

>>> main('47256')
95424

Вариант №38

Задача №8

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

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

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

0 2 3 4 5 11 12 16 17 V1 V2 V4 V5 18 25 26 34 V5 V6

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

Целое.

0 8 9 15 16 17 V5 V1 18 19 27 28 32 33 34 V1 V6 V4 V2

Тесты:

>>> main('1873894872')
31421104600

>>> main('29802869075')
24660607025

>>> main('25534265875')
25700794618

>>> main('2971190592')
3244294284

Вариант №39

Задача №8

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

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

Десятичная строка.
0 9 10 18 E1 E2 19 20 23 24 32 33 37 E2 E3 E5

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

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

Тесты:

>>> main('106522792656')
('0x2d0', '0x34', '0x4', '0xc')

>>> main('169609358589')
('0xfd', '0x5b', '0x8', '0x13')

>>> main('262665956324')
('0x3e4', '0x31a', '0x1', '0x1e')

>>> main('244226188087')
('0x337', '0xf8', '0x0', '0x1c')

Вариант №40

Задача №8

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

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

Шестнадцатиричная строка.
0 1 2 11 12 17 18 19 22 23 30 L1 L2 L3 L4 L5 L6

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

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

Тесты:

>>> main('0x522db7fd')
[('L1', '1'), ('L2', '511'), ('L3', '27'), ('L4', '1'), ('L5', '5'), ('L6', '164')]

>>> main('0x73ace199')
[('L1', '1'), ('L2', '102'), ('L3', '14'), ('L4', '1'), ('L5', '5'), ('L6', '231')]

>>> main('0xb719292')
[('L1', '2'), ('L2', '164'), ('L3', '25'), ('L4', '0'), ('L5', '14'), ('L6', '22')]

>>> main('0x3a1613ee')
[('L1', '2'), ('L2', '251'), ('L3', '33'), ('L4', '1'), ('L5', '2'), ('L6', '116')]