首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何有效地对低于或高于测量范围的读数进行编码

如何有效地对低于或高于测量范围的读数进行编码
EN

Stack Overflow用户
提问于 2021-02-16 17:36:08
回答 1查看 77关注 0票数 1

使用数字变量,对低于或高于仪器提供的范围(例如TSH < 0.001)的测量结果进行编码的最佳实践是什么?在特定情况下,这是医疗项目所需的,但该问题预计适用于任何类型的测量。在我自己的研究中,我到目前为止还没有找到一个令人满意的解决方案。

通常,这类问题是在医疗数据格式中解决的,例如HL7,但在那里,数值基本上是用字符串表示的。有没有一种有效的方法来处理数字数据类型(除了一个单独的标志变量来指示结果是在、低于还是高于测量范围的分界值)?

优选地,这应该是独立于所使用的处理器体系结构并且与Pascal或Object Pascal兼容的跨平台解决方案,但是也欢迎其他编程语言的优雅的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2021-02-16 21:36:49

在IEEE值的定义中,double值已经有了一些“特殊值”。

代码语言:javascript
运行
复制
0 11111111111 00000000000000000000000000000000000000000000000000002 ≙ 7FF0 0000 0000 000016 
    ≙ +∞ (positive infinity)
1 11111111111 00000000000000000000000000000000000000000000000000002 ≙ FFF0 0000 0000 000016 
    ≙ −∞ (negative infinity)

您可以对低于或高于范围值重复使用这些“标志”。

每种语言都可以识别这些值,例如,如果我没记错的话,Delphi/FPC Math.pas单元定义了NegInfinityInfinity

代码语言:javascript
运行
复制
  Infinity    =  1.0 / 0.0;
  NegInfinity = -1.0 / 0.0;

一方面,它们将被正确地转换为非数字(+INF/-INF)的文本,因此它可能有助于调试和跟踪这些值。

当然,您应该检测并避免使用这些值进行计算(例如,均值/R²或曲线拟合),这可能会用正确的值破坏您的计算。但结果可能会非常明显地错误(在大多数数学运算中,无穷大将抢占其他值),因此跟踪这个问题可能并不太难。

检查this article as reference

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66221882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档