Вы можете преобразовать строку в 32-разрядное целое число со знаком с помощью функции int
:
str = "1234"
i = int(str) // i is a 32-bit integer
Если строка не представляет целое число, вы получите исключение ValueError
. Однако обратите внимание, что если строка действительно представляет собой целое число, но это целое число не помещается в 32-битное целое со знаком, то вместо этого вы получите объект типа long
.
Затем вы можете преобразовать его в другие ширины и подписи с помощью простой математики:
s8 = (i + 2**7) % 2**8 - 2**7 // convert to signed 8-bit
u8 = i % 2**8 // convert to unsigned 8-bit
s16 = (i + 2**15) % 2**16 - 2**15 // convert to signed 16-bit
u16 = i % 2**16 // convert to unsigned 16-bit
s32 = (i + 2**31) % 2**32 - 2**31 // convert to signed 32-bit
u32 = i % 2**32 // convert to unsigned 32-bit
s64 = (i + 2**63) % 2**64 - 2**63 // convert to signed 64-bit
u64 = i % 2**64 // convert to unsigned 64-bit
Вы можете преобразовать строки в число с плавающей запятой с помощью функции float
:
f = float("3.14159")
Плавания Python - это то, что другие языки называют double
, то есть они являются 64-битными. В Python нет 32-разрядных чисел с плавающей запятой.