问下各位大佬, Go 里面说 ‘一个 float32 类型的浮点数可以提供大约 6 个十进制数的精度,而 float64 则可以提供约 15 个十进制数的精度’ - V2EX
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
mdvis

问下各位大佬, Go 里面说 ‘一个 float32 类型的浮点数可以提供大约 6 个十进制数的精度,而 float64 则可以提供约 15 个十进制数的精度’

  •  
  •   mdvis Oct 24, 2022 2786 views
    This topic created in 1301 days ago, the information mentioned may be changed or developed.

    菜鸟一只,这个‘大约 6 个十进制数的精度’ 和 ‘15 个十进制数的精度’ 咋理解,精度还能这么按个算,完全不理解

    10 replies    2022-10-24 15:24:02 +08:00
    liyang5945
        1
    liyang5945  
       Oct 24, 2022
    就是可以精确到小数点后面第几位的意思
    gilgameshhh
        2
    gilgameshhh  
       Oct 24, 2022   1
    参考 IEEE754 标准,尾数有多少位,精度就到 2 的负多少次方。算下来大概 4 字节浮点数就是七八位,8 字节浮点数就是十五六位
    ruxuan1306
        3
    ruxuan1306  
       Oct 24, 2022
    科学计数法,十的几次方前面乘的那个数。
    rekulas
        4
    rekulas  
       Oct 24, 2022
    楼上的没说对 并不是小数点后多少位,而是整数+小数部分总共多少位
    因为计算机一个变量类型可使用的字节数有限(比如 int 只有 4 字节),所以只能存储有限位数的小数
    msg7086
        5
    msg7086  
       Oct 24, 2022
    比如 1 个十进制数的精度下,0.1 和 0.2 是两个数字,0.11 和 0.12 是一个数字(由于精度不足导致无法分别他们的差异)。
    momocraft
        6
    momocraft  
       Oct 24, 2022   1
    盲猜原文是 6 decimal precision

    这个的正常翻译是 6 **位** 十进制精度
    nightwitch
        7
    nightwitch  
       Oct 24, 2022
    就是数学里 有效数字 的概念,从首位非 0 的数字开始算起。
    非规格化的 float32 至少能表示 6 位有效数字,规格化的 float32 至少能表示 7 位有效数字。
    可以看看这个
    https://www.cnblogs.com/tsingke/p/10223183.html
    huxins
        8
    huxins  
       Oct 24, 2022
    单精度浮点数,尾数占 23 bit ,`1<<23` 对应十进制是 8388608 ,所以,单精度浮点数有效小数位 6 位
    双精度浮点数,尾数占 52 bit ,`1<<52` 对应十进制是 4503599627370496 ,因此有效小数位是 15 位。
    mdvis
        9
    mdvis  
    OP
       Oct 24, 2022
    谢谢各位大佬,明白了,根据 IEEE754 规定

    单精度浮点数(float32)占用 4 个字节( 32 位)存储空间,包括符号位 1 位,阶码 8 位(指数部分),尾数 23 位。其数值范围为-3.4E38 ~ 3.4E38 ,单精度浮点数最多有 7 位十进制有效数字

    双精度浮点数(float64)占用 8 个字节( 64 位)存储空间,包括符号位 1 位,阶码 11 位(指数部分),尾数 52 位。其数值范围为-1.7E-308 ~ 1.7E+308 ,双精度浮点数最多有 15 或 16 位十进制有效数字
    aneostart173
        10
    aneostart173  
       Oct 24, 2022
    不是小数点后多少位,是总共多少位。
    About     Help     Advertise     Blog     API     FAQ     Solana     897 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 22:32 PVG 06:32 LAX 15:32 JFK 18:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86