为什么Java中的Float.MIN_VALUE是正值? [关闭]

2024-01-04

您认为 Float.MIN_VALUE 等于什么?

下一个代码解释了我过去 5 个小时的去向,尝试解决错误。

public static void main(String[] args) {
    compareToZero(Float.MIN_VALUE); // Out = true false false
    compareToZero(Float.MAX_VALUE); // Out = true false false

    System.out.println("Float minimum " + Float.MIN_VALUE); // Out = 1.4E-45
    System.out.println("Float maximum " + Float.MAX_VALUE); // Out = 3.4028235E38
}

private static void compareToZero(float value1) {
    System.out.print((value1 > 0) + " ");
    System.out.print((value1 < 0) + " ");
    System.out.print((value1 == 0) + "\n");
}

我没想到 float 的最小值会是正值......找不到它的任何用处。


根据文档浮点型.MIN_VALUE http://docs.oracle.com/javase/6/docs/api/java/lang/Float.html#MIN_VALUE:

一个常量,保存 float 类型的最小正非零值 2-149。它等于十六进制浮点文字 0x0.000002P-126f,也等于 Float.intBitsToFloat(0x1)。

虽然这个名称作为“真正的最小值”存在争议float is -Float.MAX_VALUE, 我猜测MIN_VALUE选择它是为了与其他数字类型保持一致。使用名称MIN_RANGE_VALUE and MAX_RANGE_VALUE(或类似的)可能会使差异更加明显。

要理解为什么这是“最小值”,需要了解一点 Java(或IEEE-754 http://en.wikipedia.org/wiki/IEEE_floating_point) 浮点值有效。有了这个洞察力,阅读文档后,很明显Float.MIN_VALUE is 由浮点数的尾数和指数分量表示的最小非零值。或者最小正数浮点数可以表示的值。

“真正的最小值”是-Float.MAX_VALUE因为Float.MAX_VALUE表示浮点数的尾数和指数部分可以表示的最大值。自从sign对于浮点数存储为离散位,这范围限制对于正数和负数都是相同的。

这与 Java(以及大多数 CPU)中整数的工作方式不同:它们使用二进制补码 http://en.wikipedia.org/wiki/Two's_complement。 (一些计算机系统使用离散符号位,称为“补码”,它有两个整数值零:0和-0!)

快乐研究!

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

为什么Java中的Float.MIN_VALUE是正值? [关闭] 的相关文章

  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • Curl 到 Openshift 控制台以获取访问令牌

    我正在尝试检索 openshift 登录的用户访问令牌 我想要实现的方法是通过curl命令 其中用户提供他的用户名和密码 并作为响应将获得令牌 我无法使用 openshift python 客户端 它只能是 GET POST 调用 您需要执
  • 如何选择充满常量的多行?

    在 SQL 语句中选择常量而不引用表是完全合法的 SELECT 1 2 3 后者返回的结果集是包含值的单行 我想知道是否有一种方法可以使用常量表达式一次选择多行 例如 SELECT 1 2 3 4 5 6 7 8 9 我想要像上面这样的东西
  • UITextView行高

    不确定之前是否提到过 但我无法在任何地方找到答案 I have UITextView随着一堆文本 大约 130 行 的变化 我需要在我的文本中获取该文本的 5 行高度UITextView 尝试这个 textView font lineHei
  • 尝试创建非自签名证书时出现异常

    我想从每个设备的自签名证书切换到一对证书 其中一个是之前生成的 放置在受信任的根证书颁发机构存储中 对于所有设备都是相同的 并且作为第二个证书的根 CA 该证书是根据每个设备生成的设备 并放置在个人存储中 我不想使用 makecert 因为
  • 如何使用 VBA 添加自定义功能区选项卡?

    我正在寻找一种在 Excel 功能区中添加自定义选项卡的方法 该选项卡将带有一些按钮 我偶然通过谷歌找到了一些解决这个问题的资源 但所有资源看起来都很狡猾而且极其复杂 有什么快速而简单的方法可以做到这一点 我希望当我的 VBA 加载到 Ex
  • 页面加载后,Xamarin WebView.CanGoBack 和 CanGoForward 始终返回 false

    我是 Xamarin Forms 的新手 如果我没有使用正确的词语 请原谅 我创建了一个名为 WebBrowser 的解决方案 以创建一个简单的移动浏览器 目前我正在处理通用文件主页 xaml and MainPage xaml cs 我正
  • MongoError:驱动程序与此服务器版本不兼容

    我刚刚安装了 Mongo Node 等 当我尝试通过 Nodejs 服务器更新数据库时 出现以下错误 MongoError driver is incompatible with this server version 这是我拥有的版本 N
  • 选择查询中 geo.distance 函数的返回值

    我正在使用 select 来查询索引 我想返回索引中 GeographyPoint 的距离 我正在尝试这样的事情 其中 GeoPoint 是位置字段 select ID geo distance GeoPoint geography POI
  • MySQL DELETE FROM 与 IN 条件的 UNION 子查询

    我遇到了一个奇怪的 SQL 错误 最后一个查询不起作用 当然 我可以将 DELETE 拆分为三个查询 但我真的想知道为什么 MySQL 不允许我这样做 一个小例子 SELECT id FROM stairs WHERE building 1
  • 如何测试某些程序集是否已加载到内存中? [复制]

    这个问题在这里已经有答案了 我有一些代码使用 Crystal Reports 运行时库来生成和丢弃一个小虚拟报告 以确保在用户创建真实报告之前将库及时加载到内存中 这是一个 感知性能 问题 当用户生成报告时 性能得到显着改善 因此显然一切正
  • 如何在日历日视图中添加圆形装饰器?

    我在用npanigrahy Custom Calendar View显示我的自定义日历 但我的问题是如何在日历中创建的事件上添加圆形项目符号 这是最好的使用方式this https github com prolificinteractiv
  • 无法为 iOS 编译 LAME

    我正在尝试将 lame mp3 编码器编译为 iOS 的静态库 我想支持所有架构 包括 i686 armv6 armv7 armv7s 和 arm64 这是我的构建脚本 bin bash DEVELOPER xcode select pri
  • 使用 Cocoa 遵循渐变路径

    我希望找到一种方法来遵循带有渐变的路径 以便渐变沿着路径的切线变化 Sorta like this 然而 到目前为止 我在搜索中找到的解决方案都使用了使用形状图层来掩盖渐变图层的变体 Which results in an unwanted
  • 没有 XmlRootElement 注释的 JAXB 解组?

    有没有什么方法可以在没有 XmlRootElement 注释的情况下对类进行解组 或者我们有义务输入注释吗 例如 public class Customer private String name private int age priva
  • 经典 ASP - 解析 JSON XMLHTTP 返回

    我无法找到一种好方法来解析从 XMLHTTP 获得的返回值 返回的是 JSON 用于获取 JSON 的 ASP 代码
  • 当我进行ajax调用时,尝试使用角度添加加载轮?

    我试图在进行 ajax 调用时实现加载轮指令 因此在响应时间内我想显示加载时间 使用下面的代码我没有看到任何错误 加载轮也没有 有没有更好的方法使用 angularJs 实现加载轮 or 下面的代码中实现了什么错误 主要 html
  • 缺少基础 SDK?

    我终于下载了新版本的 Xcode 和 iOS4 并最终尝试将我的第一个应用程序放到设备上 我正在查看配置文件并到达需要打开 Xcode 的地步 然后 设备 下拉菜单中只显示 Base SDK Missing 如果我进入 项目 gt 设置活动
  • TYPO3 TCA 类型在 FLUID 中选择?

    我在 T3 后端使用 TCA 类型选择 renderType selectMultipleSideBySide 这里是 TCA 代码 features gt array label gt Zusatz config gt array typ
  • 如何从 java.util.date 转换为 JodaTime 并获得相同的日期

    我关注这个问题 从 java util date 转换为 JodaTime https stackoverflow com questions 5042587 convert from java util date to jodatime
  • 为什么Java中的Float.MIN_VALUE是正值? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 您认为 Float MIN VALU