双变量的平方总是正数?
Square of double variable is always positive?
存在双精度数据类型d和浮点数据类型f。
1)d*d总是大于等于0.0?
2) (f+d)-f 总是等于 d?
你的问题应该提到一种编程语言。既然没有,我们只能根据 IEEE 754 浮点标准的规则来回答,编程语言可能不会像您希望的那样将其构造映射到 IEEE 754 的构造。
1) 浮点值可以是有限的、无限的或NaN。对于有限值和无限值,通常的符号规则适用:- * - 产生 + 和 + * + 产生 +,因此对于有限或无限 d
,我们有 d * d ≥ 0
。如果d
为NaN,则d * d
为NaN
,且值NaN
不大于等于0
2) 对于 d
和 f
的大多数值,(f + d) - f
不等于 d
。一个例子是 f = 2100 和 d = 1。对于这些值 (f + d) - f
是 0。即使 f
和 d
彼此更接近,例如 f = 10 和 d = 0.1。使用这些值,f + d
是一个接近 10 的数字。对于固定数量的有效二进制数字,用于表示 10.…
的 space 不允许保留所有二进制数字出现在 0.1
的表示中。再次从中减去 10,表明在加法过程中二进制数字已丢失。
存在双精度数据类型d和浮点数据类型f。 1)d*d总是大于等于0.0? 2) (f+d)-f 总是等于 d?
你的问题应该提到一种编程语言。既然没有,我们只能根据 IEEE 754 浮点标准的规则来回答,编程语言可能不会像您希望的那样将其构造映射到 IEEE 754 的构造。
1) 浮点值可以是有限的、无限的或NaN。对于有限值和无限值,通常的符号规则适用:- * - 产生 + 和 + * + 产生 +,因此对于有限或无限 d
,我们有 d * d ≥ 0
。如果d
为NaN,则d * d
为NaN
,且值NaN
不大于等于0
2) 对于 d
和 f
的大多数值,(f + d) - f
不等于 d
。一个例子是 f = 2100 和 d = 1。对于这些值 (f + d) - f
是 0。即使 f
和 d
彼此更接近,例如 f = 10 和 d = 0.1。使用这些值,f + d
是一个接近 10 的数字。对于固定数量的有效二进制数字,用于表示 10.…
的 space 不允许保留所有二进制数字出现在 0.1
的表示中。再次从中减去 10,表明在加法过程中二进制数字已丢失。