Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中获得32位IEEE值的整数值_Python_Ieee - Fatal编程技术网

如何在python中获得32位IEEE值的整数值

如何在python中获得32位IEEE值的整数值,python,ieee,Python,Ieee,如何在python中获得32位IEEE值的整数值 例如,0100000000000000000000000将给我整数3。 我该怎么做 我将0 100000000000000000000000000分别是符号位、指数和分数值 我只是想知道如何用python编写这样的代码。 步骤是什么?如果有人能帮助我学习代码,那就太好了。谢谢 这里有一个非常简单的方法。。。首先将字符串解释为整数(以2为基数): 现在,您可以使用struct.pack获得该整数的整数位表示: >>> b = st

如何在python中获得32位IEEE值的整数值 例如,0100000000000000000000000将给我整数3。 我该怎么做

我将0 100000000000000000000000000分别是符号位、指数和分数值

我只是想知道如何用python编写这样的代码。
步骤是什么?如果有人能帮助我学习代码,那就太好了。谢谢

这里有一个非常简单的方法。。。首先将字符串解释为整数(以2为基数):

现在,您可以使用
struct.pack
获得该整数的整数位表示:

>>> b = struct.pack('i', i)
>>> b
'\x00\x00@@'
最后,您可以
struct.unpack
将这些字节视为浮点:

>>> f, = struct.unpack('f', b)
>>> f
3.0

我不清楚你是如何得到这个IEEE值的?您有32字节长的字符串(全部
'1'
'0'
)还是32位长的字符串?您好,它有32个0和1。我能提供的最佳猜测是查看struct。@kpie--这是我犹豫回答的其中一次。。。我觉得应该有更好的方法来解决这个问题。Na dude在我意识到这个问题的真正含义之前,我急忙发布int(bytes(…)。但是,=应该在那里吗?@kpie是的,这是一个元组赋值
struct.unpack
返回一个我认为只有一个元素的列表。我不认为这是一种迂回的方式,这正是在C中实现的方式。
>>> f, = struct.unpack('f', b)
>>> f
3.0