Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main((130, 3, 46, 3))
881538
>>> main((93, 0, 75, 0))
153693
>>> main((234, 3, 120, 7))
2081770
>>> main((180, 6, 69, 1))
405172
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'Q1': 20, 'Q3': 204, 'Q4': 14})
'943636'
>>> main({'Q1': 15, 'Q3': 465, 'Q4': 13})
'911503'
>>> main({'Q1': 23, 'Q3': 501, 'Q4': 5})
'391831'
>>> main({'Q1': 29, 'Q3': 437, 'Q4': 9})
'645789'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(3880312002)
'0x30a939b7'
>>> main(1052190910)
'0x2f96cfca'
>>> main(395182301)
'0x3771c580'
>>> main(873758074)
'0x5e828d1f'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(10709366539)
'5634796863'
>>> main(32485445757)
'4869715912'
>>> main(11913350371)
'1563659619'
>>> main(4376151384)
'14413029506'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('156468')
'6388'
>>> main('1749738')
'224426'
>>> main('749755')
'89147'
>>> main('1546739')
'190067'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0x3b', '0x0', '0x1'))
187
>>> main(('0x1f', '0x1', '0x0'))
95
>>> main(('0x2c', '0x0', '0x0'))
44
>>> main(('0xa', '0x1', '0x5'))
714
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'U1': 401, 'U3': 3, 'U4': 137, 'U5': 8})
'0x422580191'
>>> main({'U1': 439, 'U3': 3, 'U4': 71, 'U5': 28})
'0xe11d801b7'
>>> main({'U1': 261, 'U3': 4, 'U4': 85, 'U5': 23})
'0xb95600105'
>>> main({'U1': 393, 'U3': 7, 'U4': 304, 'U5': 8})
'0x44c380189'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x9228a5b7')
'J1': '0x37', 'J2': '0x14b', 'J3': '0x14', 'J4': '0x8', 'J5': '0x12'}
{
>>> main('0xcebce5c0')
'J1': '0x40', 'J2': '0x1cb', 'J3': '0x1e', 'J4': '0x1a', 'J5': '0x19'}
{
>>> main('0x15d43f90f')
'J1': '0xf', 'J2': '0x3f2', 'J3': '0x1', 'J4': '0x15', 'J5': '0x2b'}
{
>>> main('0x2db75062e')
'J1': '0x2e', 'J2': '0x20c', 'J3': '0x1a', 'J4': '0xd', 'J5': '0x5b'} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('C1', '0xc'), ('C3', '0x8'), ('C4', '0x5')])
'0x15000c'
>>> main([('C1', '0x1'), ('C3', '0x10'), ('C4', '0x5')])
'0x160001'
>>> main([('C1', '0x6'), ('C3', '0x1b'), ('C4', '0x2')])
'0xb6006'
>>> main([('C1', '0xe'), ('C3', '0x6'), ('C4', '0x2')])
'0x8c00e'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('114638007')
183, 316, 0, 437)
(
>>> main('194541603')
35, 120, 0, 742)
(
>>> main('257390985')
137, 377, 1, 981)
(
>>> main('79968519')
7, 57, 0, 305) (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('131214864')
'67124881'
>>> main('58802567')
'29367306'
>>> main('27492746')
'41946396'
>>> main('122864897')
'4209302'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0xf74411d')
1, 8, 1, 247)
(
>>> main('0x1f783f4')
0, 112, 1, 31)
(
>>> main('0x65876c8')
0, 14, 2, 101)
(
>>> main('0x783aea6')
0, 117, 0, 120) (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(139508)
'18'
>>> main(230339)
'65603'
>>> main(361359)
'65605'
>>> main(473101)
'262175'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'L1': '11', 'L2': '274', 'L4': '29', 'L5': '311', 'L6': '120'})
'129175605547'
>>> main({'L1': '11', 'L2': '438', 'L4': '13', 'L5': '749', 'L6': '125'})
'135003331435'
>>> main({'L1': '1', 'L2': '89', 'L4': '49', 'L5': '255', 'L6': '110'})
'118379791761'
>>> main({'L1': '10', 'L2': '477', 'L4': '56', 'L5': '987', 'L6': '10'})
'11773287898'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'F1': '2', 'F2': '18', 'F3': '35', 'F4': '0', 'F5': '2'})
'0x12304a'
>>> main({'F1': '2', 'F2': '840', 'F3': '24', 'F4': '0', 'F5': '3'})
'0x198d22'
>>> main({'F1': '1', 'F2': '448', 'F3': '46', 'F4': '1', 'F5': '10'})
'0x56e701'
>>> main({'F1': '2', 'F2': '612', 'F3': '4', 'F4': '1', 'F5': '9'})
'0x4c4992'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'F1': '476', 'F2': '3', 'F3': '12', 'F5': '1', 'F6': '3'})
'0x6467dc'
>>> main({'F1': '344', 'F2': '1', 'F3': '6', 'F5': '6', 'F6': '3'})
'0x783358'
>>> main({'F1': '113', 'F2': '0', 'F3': '21', 'F5': '7', 'F6': '0'})
'0x1ca871'
>>> main({'F1': '354', 'F2': '1', 'F3': '3', 'F5': '4', 'F6': '2'})
'0x501b62'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Целое.Тесты:
>>> main({'K1': 51, 'K2': 1, 'K3': 114, 'K4': 2, 'K5': 0, 'K6': 22})
23116147
>>> main({'K1': 7, 'K2': 1, 'K3': 84, 'K4': 1, 'K5': 5, 'K6': 10})
10840647
>>> main({'K1': 50, 'K2': 1, 'K3': 122, 'K4': 0, 'K5': 1, 'K6': 28})
29441394
>>> main({'K1': 61, 'K2': 1, 'K3': 43, 'K4': 0, 'K5': 1, 'K6': 16})
16848381
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('T1', '0'), ('T2', '363'), ('T3', '74'), ('T4', '3')])
3298006
>>> main([('T1', '0'), ('T2', '742'), ('T3', '249'), ('T4', '12')])
13094348
>>> main([('T1', '1'), ('T2', '519'), ('T3', '105'), ('T4', '9')])
9653263
>>> main([('T1', '1'), ('T2', '1011'), ('T3', '196'), ('T4', '11')])
11937767
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x393ff')
'O1': '0x3f', 'O2': '0x3', 'O3': '0x3', 'O4': '0x39'}
{
>>> main('0x29b20')
'O1': '0x20', 'O2': '0x0', 'O3': '0xb', 'O4': '0x29'}
{
>>> main('0x15a68')
'O1': '0x28', 'O2': '0x1', 'O3': '0xa', 'O4': '0x15'}
{
>>> main('0x4e6b')
'O1': '0x2b', 'O2': '0x1', 'O3': '0xe', 'O4': '0x4'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(32056415)
'F1': '0x5f', 'F2': '0x4', 'F3': '0x1', 'F4': '0x0', 'F5': '0x1', 'F6': '0x3d'}
{
>>> main(22605635)
'F1': '0x43', 'F2': '0xf', 'F3': '0x3', 'F4': '0x1', 'F5': '0x0', 'F6': '0x2b'}
{
>>> main(1286688)
'F1': '0x20', 'F2': '0x2', 'F3': '0x1', 'F4': '0x1', 'F5': '0x3', 'F6': '0x2'}
{
>>> main(27215027)
'F1': '0xb3', 'F2': '0x4', 'F3': '0x2', 'F4': '0x0', 'F5': '0x7', 'F6': '0x33'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(59329810328)
12973014970
>>> main(14617012512)
17513269868
>>> main(48858079744)
44110700
>>> main(50680572864)
34574785913
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Целое.
Тесты:
>>> main(7324984)
7139
>>> main(6797813)
6621
>>> main(135158)
262
>>> main(2530284)
2381
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'Y1': '0x14', 'Y3': '0x9b', 'Y4': '0x5'})
'1469460'
>>> main({'Y1': '0xb', 'Y3': '0x8b', 'Y4': '0xf'})
'4074507'
>>> main({'Y1': '0x78', 'Y3': '0x8f', 'Y4': '0x1b'})
'7224440'
>>> main({'Y1': '0x52', 'Y3': '0x4e', 'Y4': '0xa'})
'2701394'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('E1', '0x3e'), ('E2', '0xb'), ('E3', '0x1')])
'0x563e'
>>> main([('E1', '0xe5'), ('E2', '0xc'), ('E3', '0x19')])
'0x658e5'
>>> main([('E1', '0x1b9'), ('E2', '0x18'), ('E3', '0x4')])
'0x131b9'
>>> main([('E1', '0xdd'), ('E2', '0x5'), ('E3', '0x1f')])
'0x7cadd'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main([('G1', '0xe'), ('G2', '0x14'), ('G3', '0x7')])
29006
>>> main([('G1', '0xe'), ('G2', '0xe9'), ('G3', '0xc')])
52894
>>> main([('G1', '0x2'), ('G2', '0xcc'), ('G3', '0x1')])
7362
>>> main([('G1', '0x3'), ('G2', '0x6a'), ('G3', '0xf')])
63139
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('103152')
'D1', '0xf0'), ('D2', '0x2'), ('D4', '0x19'), ('D5', '0x0')]
[(
>>> main('155988')
'D1', '0x54'), ('D2', '0x1'), ('D4', '0x6'), ('D5', '0x1')]
[(
>>> main('225973')
'D1', '0xb5'), ('D2', '0x2'), ('D4', '0x17'), ('D5', '0x1')]
[(
>>> main('170828')
'D1', '0x4c'), ('D2', '0x3'), ('D4', '0x9'), ('D5', '0x1')] [(
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'F1': '657', 'F2': '9', 'F3': '518', 'F4': '171', 'F6': '3'})
'13197016934033'
>>> main({'F1': '857', 'F2': '1', 'F3': '907', 'F4': '220', 'F6': '3'})
'13197845383001'
>>> main({'F1': '921', 'F2': '13', 'F3': '760', 'F4': '200', 'F6': '1'})
'4401414420377'
>>> main({'F1': '808', 'F2': '10', 'F3': '230', 'F4': '34', 'F6': '1'})
'4398620715816'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0xd23461')
1, 1, 13, 420)
(
>>> main('0x1a889c9')
9, 0, 2, 849)
(
>>> main('0x9a3fd7')
23, 0, 15, 308)
(
>>> main('0x185465a')
26, 0, 17, 778) (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(29191761)
'15729105'
>>> main(24826205)
'31981917'
>>> main(14072889)
'22544569'
>>> main(28329727)
'12583423'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('W1', 17), ('W2', 54), ('W3', 26), ('W4', 9)])
'5158417'
>>> main([('W1', 28), ('W2', 3), ('W3', 7), ('W4', 24)])
'12698396'
>>> main([('W1', 73), ('W2', 27), ('W3', 0), ('W4', 25)])
'13114185'
>>> main([('W1', 4), ('W2', 56), ('W3', 14), ('W4', 15)])
'8108036'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(1074406460)
'28', '289', '40', '256')
(
>>> main(307531179)
'11', '109', '82', '73')
(
>>> main(793328936)
'8', '489', '36', '189')
(
>>> main(770338886)
'6', '386', '169', '183') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x1d97a4b')
146, 2, 7, 178, 3)
(
>>> main('0x2886b29a')
166, 0, 3, 13, 81)
(
>>> main('0x2e21f34d')
211, 0, 7, 67, 92)
(
>>> main('0x28b091f2')
124, 0, 1, 97, 81) (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main(1829342)
'0x17b4e1b'
>>> main(12551663)
'0x1bc2ebf'
>>> main(394208)
'0x1801c06'
>>> main(17840007)
'0x1dbd10'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x2d42d8')
'G1': '0x18', 'G2': '0x2', 'G3': '0x1', 'G4': '0x142', 'G5': '0xb'}
{
>>> main('0x96f6e9')
'G1': '0x9', 'G2': '0x3', 'G3': '0x1', 'G4': '0x2f6', 'G5': '0x25'}
{
>>> main('0xe0369f')
'G1': '0x1f', 'G2': '0x0', 'G3': '0x1', 'G4': '0x36', 'G5': '0x38'}
{
>>> main('0x7cf55e')
'G1': '0x1e', 'G2': '0x2', 'G3': '0x0', 'G4': '0xf5', 'G5': '0x1f'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('3386074601')
'W1': 9, 'W2': 30, 'W3': 434, 'W5': 12}
{
>>> main('637562814')
'W1': 14, 'W2': 27, 'W3': 55, 'W5': 2}
{
>>> main('804717679')
'W1': 15, 'W2': 6, 'W3': 898, 'W5': 2}
{
>>> main('1575201886')
'W1': 14, 'W2': 5, 'W3': 470, 'W5': 5} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main({'M1': '29', 'M2': '125', 'M3': '1', 'M5': '3'})
402800285
>>> main({'M1': '33', 'M2': '588', 'M3': '1', 'M5': '54'})
7247963681
>>> main({'M1': '74', 'M2': '391', 'M3': '0', 'M5': '59'})
7918896074
>>> main({'M1': '22', 'M2': '898', 'M3': '0', 'M5': '92'})
12348145942
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main(('0xf8', '0xa', '0x4', '0x4f', '0x1'))
217584888
>>> main(('0x13f', '0x11', '0x7', '0x20', '0x0'))
34480959
>>> main(('0x2', '0x9c', '0x4', '0x7b', '0x3'))
532232194
>>> main(('0x21', '0x5', '0x0', '0x2c', '0x1'))
180357665
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x3', '0x6', '0x12f'))
'0x4bf3'
>>> main(('0x3', '0x2', '0xab'))
'0x2ad3'
>>> main(('0x3', '0x2', '0x1b0'))
'0x6c13'
>>> main(('0x1', '0x0', '0x96'))
'0x2581'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('22752285')
'56934869'
>>> main('36778531')
'36119051'
>>> main('54446857')
'64663753'
>>> main('62803896')
'63634408'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0xd110')
'X1', '0x0'), ('X2', '0x11'), ('X3', '0x0'), ('X4', '0x1a'), ('X5', '0x0')]
[(
>>> main('0x1101b3')
'X1', '0x3'), ('X2', '0x1b'), ('X3', '0x0'), ('X4', '0x20'), ('X5', '0x1')]
[(
>>> main('0x199d3')
'X1', '0x3'), ('X2', '0x1d'), ('X3', '0x0'), ('X4', '0x33'), ('X5', '0x0')]
[(
>>> main('0x1d7978')
'X1', '0x8'), ('X2', '0x17'), ('X3', '0x0'), ('X4', '0x1af'), ('X5', '0x1')] [(