Что такое эквивалент Python для CPP reinterpret_cast

Я застрял в тривиальной проблеме оператора reinterpret_cast casting. В принципе, в CPP у меня есть переменная float которая используется для создания переменной ******** с использованием reinterpret_cast как показано below-

float x = 2.2949836e-38;
******** rgb = *reinterpret_cast<*********>(&x);
printf("rgb=%d", rgb); // prints rgb=16377550
</*********>

Я хочу добиться того же в python.Обратите внимание, что обычная заливка не дает ожидаемого результата.

1 ответ

Вы можете использовать pack, unpack из модуля struct:

from struct import pack, unpack

b = pack('f', 2.2949836e-38)
print(unpack('i', b)[0])

Печать:

16377550

Редактировать:

сокращенный пример

licensed under cc by-sa 3.0 with attribution.