关于1.1的平方不等于1.21的疑问

如题为什么1.1的平方为什么不是1.21,而是1.21后面跟一大串数字

浮点数精度问题,IEEE754 的浮点数并不能精确地表示所有的数。

想要精确用分数

julia> 1.1*1.1
1.2100000000000002

julia> 11//10 ^2
11//100

julia> 11//10 * 11//10
121//100

julia> BigFloat(1.1)
1.100000000000000088817841970012523233890533447265625

julia> BigFloat("1.1")
1.100000000000000000000000000000000000000000000000000000000000000000000000000003

julia> BigFloat("1.1")^2
1.210000000000000000000000000000000000000000000000000000000000000000000000000012

julia> eps(1.1)
2.220446049250313e-16

julia> eps(1.1*1.1)
2.220446049250313e-16

julia> eps(BigFloat("1.1"))
1.727233711018888925077270372560079914223200072887256277004740694033718360632485e-77

类似的疑问

是的,和这个问题一样
https://discourse.julialang.org/t/difference-between-f-1-0e-7-f-1-0e-8/32779

京ICP备17009874号-2