鱼C论坛

 找回密码
 立即注册
查看: 1656|回复: 4

单精度数据范围怎么算?

[复制链接]
发表于 2020-8-18 03:49:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-18 03:57:56 | 显示全部楼层
只知道float指数位有8位 应该有2^7=128 就是在-128~127的范围里
但为啥是-2^128~2^127?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-18 08:07:28 | 显示全部楼层
zha2333 发表于 2020-8-18 03:57
只知道float指数位有8位 应该有2^7=128 就是在-128~127的范围里
但为啥是-2^128~2^127?

浮点数的范围都要看机器实现,研究没太大意义。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 10:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表