我正在编写Python 2.6代码,通过Windows中的COM 与NI TestStand 4.2连接.我想为变量创建一个"NAN"值,但如果我传递它float('nan')
,TestStand 会将其显示为IND
.
显然,TestStand区分浮点"IND"和"NAN"值.根据TestStand的帮助:
IND
对应于Visual C++中的信令NaN,而NAN
对应于QuietNaN这意味着Python 在通过COM时float('nan')
实际上是一个信令NaN.然而,从我读到的有关信号NaN的内容来看,似乎信号NaN有点"异国情调"而Quiet NaN是你的"常规"NaN.所以我怀疑Python会通过COM 传递信令NaN.我怎么能知道Python float('nan')
是通过COM作为信令NaN还是Quiet NaN传递,还是可能不确定?
在与其他语言连接时,有没有办法在Python中建立信令NaN与QuietNaN或Indeterminate?(ctypes
或许使用?)我认为这将是一个特定于平台的解决方案,在这种情况下我会接受.
更新:在TestStand序列编辑器中,我尝试制作两个变量,一个设置为NAN
,另一个设置为IND
.然后我把它保存到一个文件中.然后我打开文件并使用Python读取每个变量.在这两种情况下,Python都将它们作为nan
float 读取.