![]() |
1
24
因为
任何小于1e32的都将低于浮点的精度,所以实际上等于加一个零。 编辑:ulrichb表明,值1e23实际上会影响float.MaxValue,这意味着您根本没有比较float,而是比较double。编译器在添加和比较之前将所有值转换为双精度值。 |
![]() |
2
9
很有意思:
印刷品: True, 3.402823E+38 False, 3.402823E+38 True, 1.79769313486232E+308 False, Infinity
所以。。。正如古法所说
|
![]() |
3
3
这里的问题是浮点精度。
任何超过这个精度的东西都是“用零填充”的,在这个高数字上加1不会改变它。 |
![]() |
4
3
简而言之,差别在第39位,并且
|
![]() |
5
0
要使float类型的临时变量实际保存单个精度值,必须从内存中的float变量加载该变量。编译器通常被允许以比所需精度更高的精度来表示单精度值,并且在值位于寄存器中时倾向于这样做。当它溢出回内存时,额外的精度就会丢失。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |