0<Double.MIN_VALUE
好吧, 吐嘈一下:
前几天写代码时发现 Double 有几个静态成员变量, 如 MAX_VALUE , MIN_VALUE 等, 当时就自己"故名思意"了, 分别当成了 double 能表示的最大, 最小值来用了.
几天调试程序时发现了离奇的错误, 找了很久才找到错误, 见下例:
double temp = Double.MIN_VALUE;
if (0<temp){
return true;
}else {
return false;
}
你认为返回值是true? 还是 false?
实际运行返回的是逆天的 true !!!
无语, 查文档吧,
static double |
MAX_VALUE
A constant holding the largest positive finite value of type
double, (2-2-52)·21023. |
static double |
MIN_VALUE
A constant holding the smallest positive nonzero value of type
double, 2-1074. |
文档写着, MIN_VALUE 是表示一个double类型最小的整数,但非零的常量, 具体值是 2-1074. 也就是说就算它无限接近于0, 但也确实比 0 大. 所以返回true.
但是, 亲, 你直接取常量名 MIN_POSITIVE_VALUE 就好了啊, 就不会让大家误解了.
同理, 再看下 MAX_VALUE 是最大的"正无穷"常量.
故事这里还没有结束,下面代码是返回 true 还是 false 呢?
int temp = Integer.MIN_VALUE;
if (0<temp){
return true;
}else {
return false;
}
如果这次还选 true,那就又错了,返回的是 false, 好吧,再查文档:
static int |
MAX_VALUE
A constant holding the maximum value an
int can have, 231-1. |
static int |
MIN_VALUE
A constant holding the minimum value an
int can have, -231. |
这回又变回真正的 int 最小负值了, 这前后也不统一下,是要哪般啊。
这里要赞以下 .Net 童鞋, .Net与上面 Double.MIN_VALUE 有个类似的常量, 起名就叫 Double.Epsilon, 这个多明确的名字啊. 并且 .Net 也有 Double.MinValue, 人家表示的就是真正的负数的最小值.
0<Double.MIN_VALUE的更多相关文章
- 0<=i<iLen 在C++中
for( i=0;0<= i<2; i++)这样的话会出现什么错误呢? 一直循环下去, 因为i>=一直成立
- 解决 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载
先安装了 IIS ,再安装了 .net framework4.0 ,这样一来就要在cmd下注册.net framework4.0 步骤 第一步:修改配置文件 %windir%/system32/ine ...
- 找不到类型{0} 它在 ServiceHost 指令中提供为 Service 特性值
由于我把binding改成wsHttpBinding,在web.config里也改了命名空间 services的类名也改成了跟 web.config对应的命名空间后 在添加引用后,出现了错误: “找不 ...
- Windows PE3.0制作方法(从Win7中提取制作)
Windows PE3.0制作方法(从Win7中提取制作 在d:新建文件夹winpe,在winpe中新建sources.pe3和new文件夹,把附件中提供的工具imagex连文件夹一起放到winpe目 ...
- 【使用WCF,发布服务端浏览报错】未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” 中加载类型 “System.ServiceModel.Activation.HttpModule”。
问题: 在WIN7中的IIS服务器中部署WCF服务程序时,通过浏览器访问报出如下错误: 未能从程序集"System.ServiceModel, Version=3.0.0.0, Cultur ...
- 未能从程序集“mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.Runtime.CompilerServices.TuppressIldasmAttribute”。已解决
"/"应用程序中的服务器错误. 未能从程序集"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77 ...
- 注册asp.net 4.0版本到IIS服务器中
在IIS服务器的运维的过程中,有时候部署asp.net网站发现未安装.net framework对应版本信息,此时就需要重新将.net framework对应的版本注册到IIS中,此处以重新注册.ne ...
- [转载]未能从程序集“System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”中加载类型“System.Web.WebPages.DisplayModeProvider”
转载于http://bkcoding.cn/post_1210.html 使用vs2010开发asp.net mvc程序时,出现 未能从程序集“System.Web.WebPages, Version ...
- HDFS(0.20.2)运营中急救方案
这段时间折腾的都是hadoop和lucene,总结了hadoop在运营过程中出现问题时的解决方案,请大家指教! HDFS(0.20.2)运营中急救方案 1 Namenode 挂掉( ...
- Flink 从0到1学习 —— Flink 中如何管理配置?
前言 如果你了解 Apache Flink 的话,那么你应该熟悉该如何像 Flink 发送数据或者如何从 Flink 获取数据.但是在某些情况下,我们需要将配置数据发送到 Flink 集群并从中接收一 ...
随机推荐
- Kafka运行环境优化实践
Kafka高性能的特点及条件 Kafka是一个高吞吐量分布式消息中间件,并且提供了消息的持久化功能.其高可行有两个重要的特点: 利用了磁盘连续读写性能显著高于随机读写性能的特点 并发,将一个topic ...
- leetcode-64-最小路径和
题目描述: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: [ [1,3,1], [1 ...
- 【xsy1144】选物品 主席树
题目大意:$N$ 件物品摆成一排,给每个物品定义两个属性 $A$ 和$ B$,两件物品的 差异度 定义为它们两种属性的差的绝对值中较大的一个.如果要求出一些物品的差异度,我们先定义一个 理想物品,使它 ...
- POJ 2392
#include <iostream> #include <algorithm> #define MAXN 40005 using namespace std; struct ...
- POJ 2385
#include <algorithm> #include <cstdlib> #include <numeric> #include <iostream&g ...
- POJ 1287
#include<iostream> #include<stdio.h> #define MAXN 100 #define inf 1000000000 using names ...
- 巧用border特性实现聊天气泡效果
利用border特性,实现三角形,很简单,我们直接看效果: html: <div class="bubble-container ">你好么 <div class ...
- Android RecyclerView的使用
RecyclerView是什么? RecyclerView是一种新的视图组件,目标是为任何基于适配器的视图提供相似的渲染方式.它被作为ListView和GridView控件的继承者,在最新的suppo ...
- Annotate类
在Annotate类中有个Annotator接口,定义如下: /** A client that has annotations to add registers an annotator, * th ...
- android studio 3.1.4下载安装配置(附旧版本下载地址)
windows下安装android studio.当前时间2018年9月. 最新版本的android studio3.2.0-release出来了,拥有许多新的特性 可能我是一个业余的android开 ...