猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
关于float的字节和储存的问题
数字按ASCII储存就是用八位储存一个数字,可是一个浮点型六位有效数字又只有四个字节,为什么呢?
慕仙2339606
浏览 1323
回答 1
1回答
onemoo
字符型占 8 位,那么数字按照字符来保存当然就是 8 位一个数。但是浮点数并不是按照字符来保存的啊!浮点值是按照相应的浮点类型格式来保存的,一般来说这个格式遵循 IEEE-754 标准,也就是 float 采用占用 32 的格式,而 double 占用 64 位。 所以这与字符编码没有关系,浮点数就是能够用 32 位(4字节)或 64 位(8字节)来表示。毕竟无法保存的下无限长的浮点数,所以 float 的精度只有大约 7 位有效数字,double 精度大约是 15 位有效数字。至于 IEEE-754 的具体编码方式你可以去查询下详细描述。简单的说 IEEE-754 标准是把符号位、有效数字位和指数位分别编码到 32 位(float)或 64 位(double)的不同位置上。不过这些你并不用详细了解。
3
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续