连续数 与 离散数

Posted zyj66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连续数 与 离散数相关的知识,希望对你有一定的参考价值。

在Eclipse里试一下,以下代码的输出是多少?
		double a = 19 * 3.3 ;
		System.out.println("a: " + a);
为什么结果不是 62.7 ?
显示的结果为 62.699999999999996 ,而不是 62.7 ,为什么?

(1) 62.7 和 62.699999999999996 实际意义上是一样的,double是一个不精确的表示
(2) double用于表示连续数,int表示离散数。什么叫连续数,看下面的解释。
 /* 小知识:连续数 与 离散数
* 连续数:表示一个连续的值,本身是不精确的。 * 比如,买了1000克猪肉,和买了999.999999克锗肉, * 并无区别。因为1000克本身是一个不精确的测量值,有一定的误差。 * 再比如说,你在高速上开车,120km就算超速。然而,测速软件不会刚好卡在120km就判定超速的, * 因为谁都知道速度测量有误差。一般会在大于 120 + 10 左右才算你超速。 * 你作为程序员,在连续数的判断上必须要加上误差范围,不然会被人投诉的。 * 离散数:表示离散的值。如1只猪,2只猪。 * 离散数用int表示,可以精确比较。比如,小王家有m只猪,小李家有n只猪,则m和n 可以精确比较。 * 连续数用double表示,不能精确比较。比如,小王身高1.8000米,小李身高1.79999米, * 然后你说小王比小李高,人家能服气吗?尺子的误差那么大! * 小知识:1.0 = 0.999999... 你明白吗? * 因为1/3 = 0.3333333 * 所以 3 * 1/ 3 = 0.999999 = 1
*/笔记来自他人借鉴。


以上是关于连续数 与 离散数的主要内容,如果未能解决你的问题,请参考以下文章

double类型和int类型的区别

[离散时间信号处理学习笔记] 11. 连续时间信号的采样与重构

向箱线图添加颜色 - “提供给离散比例的连续值”错误

Codeforces Round #650 (Div. 3) F1. Flying Sort (Easy Version) (离散化,贪心)

连续型变量与离散型变量的区别是啥?

如何区别离散变量和连续变量?