Perl 中最小的非零正浮点数是多少?

2023-12-01

我有一个 Perl 程序,它处理的概率有时可能非常小。由于舍入误差,有时其中一个概率为零。我想做以下检查:

use constant TINY_FLOAT => 1e-200;
my $prob = calculate_prob();
if ( $prob == 0 ) {
    $prob = TINY_FLOAT;
}

这工作得很好,但我实际上看到 Perl 生成的数字小于 1e-200(我刚刚看到一个 8.14e-314 飞过)。对于我的应用程序,我可以更改calculate_prob(),以便它返回 TINY_FLOAT 的最大值和实际概率,但这让我对 Perl 中如何处理浮点数感到好奇。

Perl 中最小的正浮点值是多少?它与平台相关吗?如果是这样,是否有一个快速程序可以用来在我的机器上计算出来?


根据perldoc perlnumber,Perl 使用本机浮点格式,其中本机被定义为用于编译它的任何 C 编译器。如果您更担心精度/准确度而不是速度,请查看bignum.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl 中最小的非零正浮点数是多少? 的相关文章

随机推荐

  • Rails 子控制器?

    我对 Rails 还很陌生 有一个问题我不太明白 四处寻找架构上 正确 的方法 问题与我所说的子控制器有关 场景是 这 我有一系列页面 其中有一个包含某种形式的面板 一些信息 想想 gitHub 右上角的用户面板 因此 在我的应用程序中 我
  • Oauth2认证成功后获取用户信息

    在我的 iPhone 应用程序中 我使用 google 登录Oauth2 我正在关注这条指令并成功登录 void viewController GTMOAuth2ViewControllerTouch viewController fini
  • 如何反转 Java 中字符串的大小写?

    我想改变一个字符串 使所有大写字符变成小写 所有小写字符变成大写 数字字符将被忽略 所以 AbCdE123 变成 aBcDe123 我想一定有一种方法可以迭代字符串并翻转每个字符 或者也许有一些正则表达式可以做到这一点 Apache Com
  • Sass 中 @if 语句中的 @import

    我只想加载登录页面所需的 css 以提高性能 在我的其他页面上 我想要一个分组的 css 文件 该文件将缓存在包含所有 css 的每个页面上 我有以下文件 minifiedcssforloginpage scss grouped pages
  • Android 模拟按键

    如何以编程方式模拟 Droid 上的按键操作 我想模仿手动按键 在机器人上显示有人正在按键 但它是以编程方式完成的 有一些解决方案涉及IWindowManager 但这在新的 SDK 中不再是一个选项 您可以使用检测 即从活动的 onCre
  • 如何将我自己的 jQuery 版本与浏览器化模块一起使用

    我应该预先澄清 我的问题是关于 Javascript 中的闭包和客户端模块模式 这不是关于如何使用 jQuery noConflict 我有一些 Javascript 人们可以将其添加到他们的网站中 我希望我自己的代码能够访问 变量 该变量
  • Java 中的 Arrays.fill 多维数组

    如何在不使用循环的情况下在 Java 中填充多维数组 我试过了 double arr new double 20 4 Arrays fill arr 0 这导致java lang ArrayStoreException java lang
  • Objective-C SSL 同步连接

    我对 Objective C 有点陌生 但遇到了一个我无法解决的问题 主要是因为我不确定我是否正确实现了解决方案 我正在尝试使用同步连接使用自签名证书连接到 https 站点 我正在得到 错误域 NSURLErrorDomain代码 120
  • NSFetchedResultsController ,其中包含由字符串的第一个字母创建的部分

    在 iPhone 上学习核心数据 关于核心数据用部分填充表视图的示例似乎很少 这核心数据手册示例使用部分 但它们是从模型中的完整字符串生成的 我想按照姓氏的第一个字母将核心数据表组织成多个部分 就像地址簿一样 我可以为每个人创建另一个属性
  • SWF 对象 - 我为什么要使用它

    我的所有网站都需要对搜索引擎友好 即搜索引擎可读 然而 我有点喜欢flash并且希望以友好的方式集成它 我可以选择 swfobject 它允许正确的页面名称并向用户和搜索引擎提供不同的页面 但是 我想知道为什么需要使用 swfobject
  • fmt.Scanf 在 Go 中无法正常工作

    我正在尝试一个应该测试 fmt Scanf 的片段 但它似乎没有按预期工作 package main import fmt time func main fmt Println What is your favorite color var
  • 类型错误:super() 至少需要 1 个参数 [Python 3] [重复]

    这个问题在这里已经有答案了 在下面的代码中 尽管我重新检查了超过 15 分钟 但仍然出现相同的错误 为了您的信息 我在 sublime text 上运行它并出现错误 类型错误 super 至少需要 1 个参数 给定 0 个 代码如下所示 c
  • Fruchterman Reingold 的吸引力如何与 Boost Graph Library 配合使用

    我正在 Boost Graph Library 中学习 Fruchterman Reingold 算法 通过阅读文档 我知道该算法是根据图形布局计算所有节点的位置 但我的问题是我无法理解Boost Graph Library中吸引力的计算步
  • 套接字断开通知方法

    只是寻找一个可能的解决方案来识别客户端何时断开连接 我找到了这个 public bool IsConnected Socket s try return s Poll 1 SelectMode SelectRead s Available
  • Pandas 按唯一计数分组作为新列

    我想添加一个新列col在我的 pandas 数据框中 计算公式为 select count distinct ITEM as col from base data where STOCK gt 0 group by DEPT CLAS DA
  • 如何使用 watir-webdriver 禁用 Firefox 中的下载窗口?

    我不想处理 Firefox 或 IE 中的下载窗口 我想自动下载excel文件 没有任何下载窗口 我尝试为 Firefox 设置几个配置参数 但没有成功 在我的测试中 我尝试下载 Excel 文件 profile Selenium WebD
  • wxpython。需要帮助解决令人困惑的错误

    该代码适用于另一台计算机上的其他人 但似乎不适用于我 我正在使用 python 2 7 7 它对另外两个人来说效果很好 但它似乎不喜欢我或我的计算机 因为每当我运行它时 它都会给我一条错误消息 你们有什么感想 Traceback most
  • 3G 条码阅读器

    我是 iPhone 应用程序的新手 但最近我看到一个帖子 要求为 3G iPhone 提供条形码读取器 人们 包括我 提到过zxing它适用于 3GS 或更高版本 如果您想申请 3G 那么最好从 QuickMark 或 Red Laser
  • PHP在post请求中读取xml

    所以 我执行了两个步骤 a 在其中一个 php 文件中创建一些随机 xml 文件 b 解析第二个文件中的相同 xml 文件 关键点是 a 中的 php 文件将向 php 文件 b 发出仅 xml 作为请求的 post 请求 文件 b 必须使
  • Perl 中最小的非零正浮点数是多少?

    我有一个 Perl 程序 它处理的概率有时可能非常小 由于舍入误差 有时其中一个概率为零 我想做以下检查 use constant TINY FLOAT gt 1e 200 my prob calculate prob if prob 0