Re: [问题] IEEE754 Float正规化的最小正数

楼主: LPH66 (-6.2598534e+18f)   2020-06-21 06:00:56
※ 引述《a27839579 ()》之铭言:
: 各位大大
: 关于float的精度问题
: 课本上说float的精度在小数点后六位,也就是说最小可以表示到0.000001(10^-6)
: 但IEEE754的格式,最小的正数如下
: 0 00000000 00000000000000000000000
: 既为1*2^-127
: 其结果化成10进位为2^-127,比10^-6小那么多
: 是我对精度的理解错了吗
: 因为课本上写是因为IEEE格式小数占了23bit,
: 2^23=8388608,比10^6还小,但比10^7大
: 麻烦各位!
因为精确度和最小正数是两回事
你应该知道浮点数其实就只是二进制的科学记号而已
精确度其实就是科学记号概念当中的有效位数这回事
或者讲精确一点就是我在 #1RePAc02 提到的 ulp 这个词的意思
而最小正数只不过是科学记号的次方数达到最小的数字而已
另外, IEEE754 float 的最小正数不是你那个喔
全部 0 的这个数表示的就是 0.0f 这个浮点数
最小的正规化正数是 0 00000001 00000000000000000000000 即是 2^-126
次方字段全部 0 的那些是非正规化的数, 表示规则是不一样的
作者: a27839579   2020-06-23 04:01:00
十分感谢!!

Links booklink

Contact Us: admin [ a t ] ucptt.com