flaot 精度问题
因为尾数位有23位所以格式应该是1.后面23位,每位填0or1,转成十进制,有8388608个组合,但是为什么可以直接输出表示值得精准位,一個組合表達一個數字的概念,但是他是在小數後輸出,但是1.23個1內存輸出十進制不是1.8388608...,而是接近2的數字,如在内存尾數最大1.后面23个1,输出=1.9999998807907104(十进制)
,因此这个8388608到底是用來表達什麼,能详细分析白话一点吗 感谢
1.后面23位,每位填0or1,转成十进制,有8388608个组合
此话怎讲?
这个 8388608 是怎么来的?
2^23次方 输出=1.9999998807907104(十进制)
9999998807907104 这个又是什么?
看不懂你的问题,不知道你要问什么
重新组织一下语言,把你的问题重新说一下
小数点前和后算法不一样,后面是0.5+0.25+0.125+0.0625+...........所以无限接近1
另,研究这些有意义吗,不如有功夫待会 我没要研究只是想理解2^23次方为什么可以表示精准位 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 kazuya8375 发表于 2022-3-5 10:32
我没要研究只是想理解2^23次方为什么可以表示精准位
求科普,什么是浮点数的精准位
我百度没有找到这个名词的解释
kazuya8375 发表于 2022-3-5 10:32
我没要研究只是想理解2^23次方为什么可以表示精准位
我觉得你应该去学一下二进制
①逢二进一
②第一位上表示权数×2的零次幂
第二位上表示权数×2的一次幂
第三位上表示权数×2的二次幂.................
小数点后面的在⑤楼有说
实在是不知道你想问什么 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
圖中 2^23由來 可以詳細說明嗎 float的进度只有7位超过精度就会精度丢失,至于会变成什么我也不知道,是随机的,double是15位。 因此这个8388608到底是用來表達什麼
仅仅只是用来数一数这个数字有多少位
一共有7位
页:
[1]