Форум сайта python.su
0
У меня есть значение адреса сигнала, выраженное через основание натурального логарифма. Как преобразовать 2.83491541e-309 в фактический int?
Офлайн
13
int(float(your_num))
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Отредактировано DamMercul (Сен. 11, 2018 21:38:24)
Офлайн
0
В общем я разбирался в этом вопросе, оказалось совсем не так, как я описал. В базе хранится значение 2.83491541e-309, специфичным софтом для этой базы я могу выгрузить это поле либо в dec либо hex.
В dec формате значение 7039485333511, а в hex 000006670205D007. Судя по всему в БД происходит запись побитового представления числа hex. Иначе число 2.83491541e-309 фактически 0.
Как можно реализовать на питоне представление этого float в dec или hex.
Офлайн
253
SergeyChmutov
Судя по всему в БД происходит запись побитового представления числа hex
import ctypes as ct class UU(ct.Union): _fields_ = [("i", ct.c_uint64), ("f", ct.c_double)] a=UU() >>> a.i=7039485333511 >>> a.f 3.477967867691e-311
Офлайн
0
doza_andДа, вероятно этим я ввел кого-то в заблуждение. Я точно не помнил, значение какого поля указал в посте, и импортировал не его. Поэтому и вышла разница в значениях.
Как оно связано с вашим числом 2.83491541e-309 неизвестно. Если вы приведете несколько тысяч примеров, то, возможно, это можно будет понять.
Офлайн