Floating point 42可以精确地表示为浮点吗?

Floating point 42可以精确地表示为浮点吗?,floating-point,double,ieee-754,Floating Point,Double,Ieee 754,我了解到0.1不能精确地表示为浮点数。教科书上的论点是,0.1不能作为一种基于二进制的科学符号来编写,尽管我从未确定人们是如何证明这一论点的。与此相关,我现在的问题是 42可以精确地表示为浮点吗 假设我们正在讨论IEEE-754binary64格式 那么,一个足够小的整数值可以精确地表示为适合浮点尾数(42) 42 (decimal) == 101010 (binary) 另一方面,1/10无法精确表示: 0.1 (decimal) == 0.0001100110011001100...

我了解到0.1不能精确地表示为浮点数。教科书上的论点是,
0.1
不能作为一种基于二进制的科学符号来编写,尽管我从未确定人们是如何证明这一论点的。与此相关,我现在的问题是

42可以精确地表示为浮点吗


假设我们正在讨论IEEE-754
binary64
格式

那么,一个足够小的整数值可以精确地表示为适合浮点尾数(
42

 42 (decimal) == 101010 (binary)
另一方面,
1/10
无法精确表示:

 0.1 (decimal) == 0.0001100110011001100... (binary)

由于
0.1
decimal是一个二进制周期分数

如果我没记错的话,小数部分的问题是它只能用1/2,1/4,1/8,1/16,1/32,1/(2^n),不能精确地得到0.1。但是对于整数,应该没有问题。@zell:
42
足够小(小于52位),可以容纳
双尾数。您可以将
0.1
表示为
1*10^-1
,并精确地表示
1
-1
——这是
十进制类型的思想