Українська
Відкрити в Telegram

Гілкаstruct не поможет?

4 повідомлення · –
  1. F
    Он в качестве формата принимает только 4 байтные и 8 байтные float'ы. Добавлять с какой то стороны нулевые биты тоже нельзя, т.к. длина мантиссы у них разная (вероятно даже порядок мантиссы и экспоненты)
  2. С
    поможет, я нашел где то вот такой огрызок ( уже после того как сделал либу) import struct def real48_to_float(real48): sign = (real48 >> 47) & 0x1 exponent = ((real48 >> 39) & 0xFF) - 15 + 127 significand = ((real48 & 0x7FFFFFFFFF) << 14) & 0xFFFFFFFFFFFFFFFF significand |= 0x4000000000000000 packed = struct.pack('>Q', significand) float_significand = struct.unpack('>f', packed)[0] return struct.pack('>I', (sign << 31) | (exponent << 23) | (int(float_significand * (1 << 23)) & 0x7FFFFF))
    1. F
      Таких огрызков много) они в большинстве своём не работают) в этот, например, при попытке закинуть сырую байтовую строку ловится исключение TypeError: unsupported operand type(s) for >>: 'bytes' and 'int'

Відкрита публічна стрічка з пошукового індексу ChatCrawler — «Google по публічному Telegram»; оновлюється в міру обходу майданчика. Час — UTC.

Лише публічний контент, офіційний API Telegram. Про проєкт · Питання · Межі індексу · Прибрати сторінку з видачі · Каталог · Пошук · Як ми рахуємо