pythoni c способ получить двоичное представление числа (int, float или double) - PullRequest
0 голосов
/ 12 марта 2020

Относительно Python int для двоичной строки? , я хотел бы узнать способ pythoni c, чтобы получить двоичное представление IEEE-754 для числа int, float или double.

Например, 42.0 необходимо преобразовать в 1 10000100 01010 000000000000000000

1 Ответ

1 голос
/ 12 марта 2020

Попробуйте это:

import struct

getBin = lambda x: x > 0 and str(bin(x))[2:] or "-" + str(bin(x))[3:]

def floatToBinary32(value):
    val = struct.unpack('I', struct.pack('f', value))[0]
    return getBin(val)

binstr = floatToBinary32(42.0)
print('Binary equivalent of 42.0:')
print(binstr + '\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...