Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('349960')
'0x184aa8'
>>> main('384902')
'0x1c3bb8'
>>> main('90137')
'0xc2c4'
>>> main('296298')
'0xb5908'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0x29de93871')
'18138774697'
>>> main('0x60f9a67fe')
'17168200544'
>>> main('0x22c391bc0')
'25252038178'
>>> main('0x3b4c370ec')
'1986959419'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('767', '33', '3', '4'))
'2524927'
>>> main(('184', '78', '1', '4'))
'2308280'
>>> main(('630', '65', '1', '6'))
'3343990'
>>> main(('617', '29', '2', '3'))
'1865321'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Целое.Тесты:
>>> main({'A1': '0x3b', 'A2': '0x147', 'A4': '0x2'})
67192635
>>> main({'A1': '0xce', 'A2': '0x1f3', 'A4': '0x2'})
67236814
>>> main({'A1': '0xa2', 'A2': '0x1ac', 'A4': '0x5'})
167881890
>>> main({'A1': '0xc2', 'A2': '0x8e', 'A4': '0x5'})
167808706
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'U1': '41', 'U2': '307', 'U3': '25', 'U4': '1'})
'34393321'
>>> main({'U1': '39', 'U2': '50', 'U3': '462', 'U4': '2'})
'82250919'
>>> main({'U1': '4', 'U2': '147', 'U3': '494', 'U4': '1'})
'49751236'
>>> main({'U1': '63', 'U2': '145', 'U3': '60', 'U4': '6'})
'203302015'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(63437468372)
'A1': 84, 'A2': 485, 'A3': 10, 'A4': 41, 'A5': 236}
{
>>> main(16408517583)
'A1': 79, 'A2': 55, 'A3': 6, 'A4': 16, 'A5': 61}
{
>>> main(40786918545)
'A1': 17, 'A2': 505, 'A3': 22, 'A4': 120, 'A5': 151}
{
>>> main(209417744658)
'A1': 18, 'A2': 98, 'A3': 5, 'A4': 18, 'A5': 780} {
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'J1': '720', 'J2': '38', 'J3': '2', 'J4': '0', 'J5': '6'})
'6593232'
>>> main({'J1': '515', 'J2': '61', 'J3': '2', 'J4': '1', 'J5': '7'})
'8189443'
>>> main({'J1': '303', 'J2': '38', 'J3': '2', 'J4': '1', 'J5': '2'})
'2922799'
>>> main({'J1': '28', 'J2': '77', 'J3': '2', 'J4': '0', 'J5': '2'})
'2438172'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x54758a7d3')
'Y1': '19', 'Y2': '31', 'Y3': '10', 'Y4': '856', 'Y5': '1', 'Y6': '42'}
{
>>> main('0x28be93620')
'Y1': '32', 'Y2': '24', 'Y3': '3', 'Y4': '1001', 'Y5': '2', 'Y6': '20'}
{
>>> main('0x7c14e8639')
'Y1': '57', 'Y2': '24', 'Y3': '8', 'Y4': '334', 'Y5': '0', 'Y6': '62'}
{
>>> main('0x2b9805eba')
'Y1': '58', 'Y2': '58', 'Y3': '5', 'Y4': '384', 'Y5': '6', 'Y6': '21'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(12542843919)
'4189680067'
>>> main(12311587394)
'668823206'
>>> main(1305169213)
'16489653457'
>>> main(2673727360)
'1005866360'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('802649782')
'Z1', '0'), ('Z2', '91'), ('Z3', '3'), ('Z4', '55'), ('Z5', '245'), ('Z6', '11')]
[(
>>> main('1767088434')
'Z1', '0'), ('Z2', '153'), ('Z3', '0'), ('Z4', '58'), ('Z5', '84'), ('Z6', '26')]
[(
>>> main('566634555')
'Z1', '1'), ('Z2', '29'), ('Z3', '4'), ('Z4', '34'), ('Z5', '113'), ('Z6', '8')]
[(
>>> main('1710714054')
'Z1', '0'), ('Z2', '99'), ('Z3', '6'), ('Z4', '54'), ('Z5', '125'), ('Z6', '25')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0xe5e8928')
'0x8', '0x49', '0x0', '0x17a', '0xe')
(
>>> main('0x1dea4293')
'0x13', '0x14', '0x0', '0x3a9', '0x1d')
(
>>> main('0x15947828')
'0x8', '0xc1', '0x1', '0x251', '0x15')
(
>>> main('0x15bd3ea1')
'0x1', '0xf5', '0x1', '0x2f4', '0x15') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('T1', '3'), ('T2', '3'), ('T3', '565'), ('T4', '24'), ('T5', '6'), ('T6', '418')])
'0x3458c46af'
>>> main([('T1', '0'), ('T2', '3'), ('T3', '243'), ('T4', '0'), ('T5', '1'), ('T6', '570')])
'0x474401e6c'
>>> main([('T1', '1'), ('T2', '4'), ('T3', '784'), ('T4', '12'), ('T5', '7'), ('T6', '389')])
'0x30bc66211'
>>> main([('T1', '1'), ('T2', '2'), ('T3', '771'), ('T4', '11'), ('T5', '3'), ('T6', '432')])
'0x360c5e069'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('99484357')
'99090821'
>>> main('35700672')
'35651616'
>>> main('245614418')
'245367026'
>>> main('104892160')
'104857632'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Целое.
Тесты:
>>> main('0xbdef35f')
230551526
>>> main('0x34d0244')
70570500
>>> main('0x876da23')
176646580
>>> main('0x9e3e06f')
245252032
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('254068542')
'F1', '6'), ('F2', '39'), ('F3', '99'), ('F4', '36'), ('F5', '30')]
[(
>>> main('142897191')
'F1', '7'), ('F2', '4'), ('F3', '56'), ('F4', '4'), ('F5', '17')]
[(
>>> main('98990025')
'F1', '1'), ('F2', '57'), ('F3', '59'), ('F4', '102'), ('F5', '11')]
[(
>>> main('101704904')
'F1', '0'), ('F2', '25'), ('F3', '114'), ('F4', '15'), ('F5', '12')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main(5889449919868)
124, 517, 420, 171)
(
>>> main(5638489726209)
1, 349, 11, 164)
(
>>> main(3687180733883)
187, 269, 326, 107)
(
>>> main(3226032818088)
168, 583, 418, 93) (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main(('1', '13', '457', '903', '651'))
'10936777019'
>>> main(('1', '1', '401', '69', '124'))
'2081518115'
>>> main(('0', '2', '321', '194', '406'))
'6814738468'
>>> main(('0', '2', '85', '49', '256'))
'4295772836'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main([('W1', 7), ('W2', 48), ('W3', 0), ('W4', 156)])
'0x4e00607'
>>> main([('W1', 18), ('W2', 161), ('W3', 51), ('W4', 91)])
'0x2de7432'
>>> main([('W1', 20), ('W2', 228), ('W3', 1), ('W4', 151)])
'0x4b83c94'
>>> main([('W1', 11), ('W2', 26), ('W3', 19), ('W4', 82)])
'0x292634b'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('V1', '19'), ('V2', '25'), ('V3', '2'), ('V4', '43'), ('V5', '0')])
357971
>>> main([('V1', '33'), ('V2', '17'), ('V3', '2'), ('V4', '88'), ('V5', '3')])
3871841
>>> main([('V1', '11'), ('V2', '3'), ('V3', '2'), ('V4', '126'), ('V5', '0')])
1036491
>>> main([('V1', '58'), ('V2', '19'), ('V3', '0'), ('V4', '88'), ('V5', '2')])
2819322
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('107244')
'0x10165'
>>> main('114879')
'0x10221'
>>> main('105691')
'0x100f9'
>>> main('186575')
'0x202f1'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('11432256503')
'0x5257f74b'
>>> main('42730230077')
'0x5d3d3d97'
>>> main('64559885400')
'0x8de05840'
>>> main('52282292923')
'0x2386bb62'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.
Тесты:
>>> main('0x32942af21')
'0x2941aaf21'
>>> main('0x4cb3d8d9')
'0x4cb03d8d9'
>>> main('0x3b488974a')
'0x3489c974a'
>>> main('0xc1d4a177')
'0x41d44a177'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('0x514bbf6bd8')
'X2', '26'), ('X3', '62'), ('X4', '29'), ('X5', '553'), ('X6', '2')]
[(
>>> main('0x475c8e3de')
'X2', '24'), ('X3', '17'), ('X4', '46'), ('X5', '142'), ('X6', '0')]
[(
>>> main('0x41936135e4')
'X2', '13'), ('X3', '2'), ('X4', '27'), ('X5', '50'), ('X6', '2')]
[(
>>> main('0x60b4598ade')
'X2', '2'), ('X3', '51'), ('X4', '34'), ('X5', '22'), ('X6', '3')] [(
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main('970626073125')
'37', '65', '127', '28')
(
>>> main('737825349606')
'486', '175', '242', '21')
(
>>> main('648995665222')
'326', '250', '454', '18')
(
>>> main('750772168208')
'16', '19', '435', '21') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('P1', '29'), ('P2', '47'), ('P3', '219'), ('P4', '81'), ('P5', '975')])
'8377911324445'
>>> main([('P1', '22'), ('P2', '0'), ('P3', '643'), ('P4', '112'), ('P5', '476')])
'4092588032022'
>>> main([('P1', '86'), ('P2', '56'), ('P3', '525'), ('P4', '239'), ('P5', '241')])
'2078210963542'
>>> main([('P1', '96'), ('P2', '114'), ('P3', '639'), ('P4', '53'), ('P5', '265')])
'2278132019808'
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.
Выходные данные:
Целое.
Тесты:
>>> main('893957')
94208
>>> main('1029476')
339977
>>> main('348913')
675853
>>> main('950469')
225281
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main({'I1': 98, 'I2': 12, 'I3': 0, 'I5': 18, 'I6': 24})
'1629488738'
>>> main({'I1': 9, 'I2': 9, 'I3': 0, 'I5': 46, 'I6': 6})
'450888841'
>>> main({'I1': 106, 'I2': 12, 'I3': 0, 'I5': 10, 'I6': 26})
'1755317866'
>>> main({'I1': 106, 'I2': 14, 'I3': 0, 'I5': 36, 'I6': 6})
'440403818'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main(('0x47', '0x40', '0x26', '0x0'))
'0x4d008e0'
>>> main(('0x1c5', '0x74', '0x1a8', '0x6'))
'0x1b51d38a0'
>>> main(('0x1f', '0x75', '0x1ae', '0xe'))
'0x3b5dd43e0'
>>> main(('0x6', '0x4', '0x5', '0xc'))
'0x300a100c0'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Тесты:
>>> main('0x5c0841a06')
518, 6, 33, 92)
(
>>> main('0x7329c74')
116, 167, 460, 0)
(
>>> main('0xe000110c')
268, 4, 0, 14)
(
>>> main('0x592a44f04')
772, 19, 169, 89) (
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.
Выходные данные:
Десятичная строка.
Тесты:
>>> main(26358)
'28470'
>>> main(30235)
'25499'
>>> main(14399)
'511'
>>> main(6294)
'2262'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Десятичная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('493381254')
'0x86', '0x0', '0x28', '0x75')
(
>>> main('202494572')
'0x6c', '0x1', '0x11', '0x30')
(
>>> main('421359525')
'0x1a5', '0x0', '0x1d', '0x64')
(
>>> main('199619565')
'0x1ed', '0x1', '0x25', '0x2f') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Целое.Тесты:
>>> main([('F2', '928'), ('F3', '66'), ('F4', '23'), ('F5', '0'), ('F6', '73')])
5019678965760
>>> main([('F2', '847'), ('F3', '6'), ('F4', '181'), ('F5', '1'), ('F6', '5')])
402257689600
>>> main([('F2', '463'), ('F3', '62'), ('F4', '225'), ('F5', '1'), ('F6', '28')])
1988769561600
>>> main([('F2', '302'), ('F3', '96'), ('F4', '14'), ('F5', '0'), ('F6', '22')])
1513808508928
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Выходные данные:
Шестнадцатиричная строка.Тесты:
>>> main({'L1': '0x3', 'L2': '0x33', 'L3': '0x0', 'L4': '0x61', 'L5': '0x6'})
'0xcc2cf'
>>> main({'L1': '0x1', 'L2': '0x3', 'L3': '0x1', 'L4': '0x12', 'L5': '0xa'})
'0x14250d'
>>> main({'L1': '0x1', 'L2': '0x9', 'L3': '0x0', 'L4': '0x51', 'L5': '0xa'})
'0x14a225'
>>> main({'L1': '0x2', 'L2': '0x17', 'L3': '0x0', 'L4': '0xc3', 'L5': '0x3'})
'0x7865e'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Целое.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main(11741365907026)
'0x52', '0xd7', '0x7e', '0x7', '0x6d', '0xaa')
(
>>> main(1978581267112)
'0xa8', '0x119', '0x14', '0x3', '0x65', '0x1c')
(
>>> main(11058043141753)
'0x79', '0x1df', '0x57', '0x1', '0x75', '0xa0')
(
>>> main(5915027630138)
'0x3a', '0x374', '0x63', '0x4', '0x9', '0x56') (
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.
Входные данные:
Десятичная строка.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('33027164')
'Y1': '0x5c', 'Y2': '0x2', 'Y3': '0x7', 'Y4': '0x7', 'Y5': '0x7d'}
{
>>> main('12996678')
'Y1': '0x46', 'Y2': '0x0', 'Y3': '0x5', 'Y4': '0x4', 'Y5': '0x31'}
{
>>> main('18446182')
'Y1': '0x166', 'Y2': '0x3', 'Y3': '0x7', 'Y4': '0x2', 'Y5': '0x46'}
{
>>> main('4111446')
'Y1': '0x56', 'Y2': '0x6', 'Y3': '0x3', 'Y4': '0x5', 'Y5': '0xf'} {
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Целое.Выходные данные:
Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.
Тесты:
>>> main(46544026200)
'D1': '24', 'D2': '9', 'D3': '943', 'D4': '49', 'D5': '173'}
{
>>> main(18514281567)
'D1': '31', 'D2': '17', 'D3': '304', 'D4': '124', 'D5': '68'}
{
>>> main(58064558371)
'D1': '35', 'D2': '4', 'D3': '347', 'D4': '39', 'D5': '216'}
{
>>> main(1889182139)
'D1': '59', 'D2': '6', 'D3': '852', 'D4': '4', 'D5': '7'} {
Задача №8
Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.
Выходные данные:
Десятичная строка.
Тесты:
>>> main('0xc9cfaf4ef')
'21180424108'
>>> main('0x6bf3f8b57')
'48704052216'
>>> main('0x3c4144bcb')
'50651494724'
>>> main('0x6b8b0ec95')
'54071053068'
Задача №8
Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Шестнадцатиричная строка.Выходные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.
Тесты:
>>> main('0x1aae5d5')
'0x32e', '0x155', '0x1')
(
>>> main('0x1f10a1e')
'0x50', '0x1e2', '0x1')
(
>>> main('0xdacafb')
'0x257', '0x1b5', '0x0')
(
>>> main('0x37c1808')
'0xc0', '0xf8', '0x3') (
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.
Выходные данные:
Десятичная строка.Тесты:
>>> main([('Q1', '5'), ('Q3', '38'), ('Q4', '52'), ('Q5', '166')])
'87247237'
>>> main([('Q1', '5'), ('Q3', '52'), ('Q4', '70'), ('Q5', '132')])
'69496069'
>>> main([('Q1', '2'), ('Q3', '26'), ('Q4', '121'), ('Q5', '54')])
'28808834'
>>> main([('Q1', '0'), ('Q3', '10'), ('Q4', '93'), ('Q5', '168')])
'88461952'
Задача №8
Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.
Входные данные:
Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.
Выходные данные:
Десятичная строка.Тесты:
>>> main((9, 1, 2, 1))
'12553'
>>> main((3, 6, 3, 0))
'7683'
>>> main((4, 4, 0, 3))
'25604'
>>> main((1, 4, 3, 2))
'23553'