单精度数据范围怎么算?
如题{:10_243:} 只知道float指数位有8位 应该有2^7=128 就是在-128~127的范围里但为啥是-2^128~2^127? zha2333 发表于 2020-8-18 03:57
只知道float指数位有8位 应该有2^7=128 就是在-128~127的范围里
但为啥是-2^128~2^127?
浮点数的范围都要看机器实现,研究没太大意义。 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
单精度是四字节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]