如何在Python中测试负零?
发布时间:2020-05-25 09:24:15 所属栏目:Python 来源:互联网
导读:我想测试一个数字是正数还是负数,特别是在零的情况下. IEEE-754允许-0.0,并且它是用 Python实现的. 我能找到的唯一解决方法是: def test_sign(x): return math.copysign(1, x) 0 也许(可能需要更长时间才能运行): def test_sign(x): math.atan2(x, -1) 在常
|
我想测试一个数字是正数还是负数,特别是在零的情况下. IEEE-754允许-0.0,并且它是用 Python实现的. 我能找到的唯一解决方法是: def test_sign(x):
return math.copysign(1,x) > 0
也许(可能需要更长时间才能运行): def test_sign(x):
math.atan2(x,-1)
在常规库中的任何地方都找不到专用函数,我忽略了什么吗? 编辑:(为什么这是相关的) 这不再是我目前的计划,但在提出问题时,我试图根据参数是正面还是负面来重载函数.允许用户传递负零将解决对零值输入意味着的歧义.我认为这对其他用例也可能是普遍感兴趣的. 解决方法您可以使用二进制表示:import struct
def binary(num):
return ''.join(bin(ord(c)).replace('0b','').rjust(8,'0') for c in struct.pack('!f',num))
将返回比特流 最高位是符号位(0表示正数,1表示负数) 然而,IEEE-754也声明0.0 == -0.0 == 0.0.因此不能确定例如-1.0 1.0将例如导致正零或负零. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
