Я пытаюсь преобразовать число, хранящееся в виде списка int, в тип float. Я получил номер через последовательную консоль и хочу снова собрать его в поплавок. Как я хотел бы сделать это в C-то вроде этого:Преобразовать список ints в float
bit_data = ((int16_t)byte_array[0] << 8) | byte_array[1];
result = (float)bit_data;
То, что я пытался использовать в Python является гораздо более простое преобразование:
result = int_list[0]*256.0 + int_list[1]
Однако это не сохраняет знак результата, как это делает код C. Каков правильный способ сделать это в python?
ОБНОВЛЕНИЕ: Версия для Python - 2.7.3. My byte array имеет длину 2. в коде python byte_array - это список ints. Я переименовал его, чтобы избежать недоразумений. Я не могу просто использовать функцию float(), потому что она не сохранит знак числа.
Как велика ваша byte_array? Это 4 элемента? Ваш код не делает это ясным ... –
Кроме того, вы не указали, какую версию python ... –
Что такое byte_array? Является ли список объектов int, байтового объекта? – Dunes