kazuya8375 发表于 2022-3-4 23:52:27

flaot 精度问题

因为尾数位有23位所以格式应该是
1.后面23位,每位填0or1,转成十进制,有8388608个组合,但是为什么可以直接输出表示值得精准位,一個組合表達一個數字的概念,但是他是在小數後輸出,但是1.23個1內存輸出十進制不是1.8388608...,而是接近2的數字,如在内存尾數最大1.后面23个1,输出=1.9999998807907104(十进制)
,因此这个8388608到底是用來表達什麼,能详细分析白话一点吗 感谢

人造人 发表于 2022-3-5 00:45:25

1.后面23位,每位填0or1,转成十进制,有8388608个组合
此话怎讲?
这个 8388608 是怎么来的?

kazuya8375 发表于 2022-3-5 00:58:58

2^23次方

人造人 发表于 2022-3-5 02:16:32

输出=1.9999998807907104(十进制)
9999998807907104 这个又是什么?
看不懂你的问题,不知道你要问什么
重新组织一下语言,把你的问题重新说一下

wp231957 发表于 2022-3-5 06:43:01

小数点前和后算法不一样,后面是0.5+0.25+0.125+0.0625+...........所以无限接近1
另,研究这些有意义吗,不如有功夫待会

kazuya8375 发表于 2022-3-5 10:32:37

我没要研究只是想理解2^23次方为什么可以表示精准位

人造人 发表于 2022-3-5 11:42:32

kazuya8375 发表于 2022-3-5 10:32
我没要研究只是想理解2^23次方为什么可以表示精准位

什么是精准位?这是你自己创造的名词吗?
用网络上面大家都在用的词汇,重新描述一下你的问题
你得让别人看得懂你的问题,别人才能给你解答问题

https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_7_dg&wd=%E7%B2%BE%E5%87%86%E4%BD%8Dfloat&oq=%25E7%25B2%25BE%25E5%2587%2586%25E4%25BD%258D&rsv_pq=bf7ba3a40003fb90&rsv_t=173dIC70SSOrJswrM5KLiRCXhib6bMORaOo1JuxG9Y5TYVOqRUU0v2m1ElEzZwW9EHsn&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=7&rsv_sug1=8&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=2021&rsv_sug4=3507

人造人 发表于 2022-3-5 11:43:46

kazuya8375 发表于 2022-3-5 10:32
我没要研究只是想理解2^23次方为什么可以表示精准位

求科普,什么是浮点数的精准位
我百度没有找到这个名词的解释

wp231957 发表于 2022-3-5 12:39:53

kazuya8375 发表于 2022-3-5 10:32
我没要研究只是想理解2^23次方为什么可以表示精准位

我觉得你应该去学一下二进制
①逢二进一
②第一位上表示权数×2的零次幂
    第二位上表示权数×2的一次幂
    第三位上表示权数×2的二次幂.................

小数点后面的在⑤楼有说

实在是不知道你想问什么

wp231957 发表于 2022-3-5 16:34:56

kazuya8375 发表于 2022-3-5 10:32
我没要研究只是想理解2^23次方为什么可以表示精准位

(b)1110011.101=1*2^6+1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+1*2^0+1*2^-1+0*2^-2+1*2^-3
         =(d)64+32+16+0+0+2+1+0.5+0+0.125
         =(d)115.625

kazuya8375 发表于 2022-3-6 12:18:29

圖中 2^23由來 可以詳細說明嗎

御修 发表于 2022-3-6 16:24:11

float的进度只有7位超过精度就会精度丢失,至于会变成什么我也不知道,是随机的,double是15位。

人造人 发表于 2022-3-7 21:12:04

因此这个8388608到底是用來表達什麼
仅仅只是用来数一数这个数字有多少位
一共有7位
页: [1]
查看完整版本: flaot 精度问题