zha2333 发表于 2020-8-18 03:49:58

单精度数据范围怎么算?

如题{:10_243:}

zha2333 发表于 2020-8-18 03:57:56

只知道float指数位有8位 应该有2^7=128 就是在-128~127的范围里
但为啥是-2^128~2^127?

永恒的蓝色梦想 发表于 2020-8-18 08:07:28

zha2333 发表于 2020-8-18 03:57
只知道float指数位有8位 应该有2^7=128 就是在-128~127的范围里
但为啥是-2^128~2^127?

浮点数的范围都要看机器实现,研究没太大意义。

tttxiaoz 发表于 2020-8-18 09:40:46

zha2333 发表于 2020-8-18 03:57
只知道float指数位有8位 应该有2^7=128 就是在-128~127的范围里
但为啥是-2^128~2^127?

你说的这是char的范围其实是0~127 -0~-127 然后0和-0的二级制是0000 0000-128的二进制1 0000 0000 char只能表示8位, 和-0的二进制一样   所以char表示范围是-128~127

tttxiaoz 发表于 2020-8-18 10:04:41

单精度是四字节32位 最高位是符号位之后8位是指数位最后23位是尾数
符号位取0(正数)1(负数)
指数位最小-128 最大127
尾数最大1.111....111(23个1)----(2^0 - 2^-23)   -----(约等于2)
单精度最大范围2^127 * (2^0 - 2^-23) 约等于2^128约等于3.4E+38
所以单精度范围是(-3.4E+38)~(3.4E+38)
页: [1]
查看完整版本: 单精度数据范围怎么算?