什么是C语言中的精度,与位数有什么差别

刚学C,书中说float与double分别是6位与16位精度,但他们的位数不是特别大吗(3.4E38;1.7E308),另外,书上说还有一位符号位,所以其实可以接收7位,... 刚学C,书中说float 与double分别是6位与16位精度,但他们的位数不是特别大吗(3.4E38;1.7E308),另外,书上说还有一位符号位,所以其实可以接收7位,17位数字,这又是什么意思?
拜托,多谢了
展开
 我来答
痞子_无敌
2008-10-04 · TA获得超过186个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:290万
展开全部
系统把一个浮点型数据分成小数部分和指数部分分别存放的,第一位是用来存放符号的,接下来是小数部分,最后是指数部分,而精度指的是小数部分的占的位数。
一个float是32位的,符号占一位,有效数字(即小数部分)占6位,剩下的是指数部分的位数,所以他的最大值可以是3.4E38。
一个double是64位的,符号占一位,有效数字占15位,剩下的是指数部分的位数,所以他的最大值能达到3.4E308
123456.7890000如果是用float类型的话,小数点后面都是无意义的,因为float接受7位的,而后面部分已经超过7位了,不能准确 的表示出来,所以这里的接受是指能正确表达小数的7位有效数字
warmwormn
2008-10-04 · TA获得超过737个赞
知道小有建树答主
回答量:1694
采纳率:0%
帮助的人:1340万
展开全部

别把计算机中的位和数学中位的概念混淆了

6位和16位精度指的是数学中小数点后6位和小数点后16位

符号位指的是计算机中的位,即变量的第一个位(BIT)代表正数还是负数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baoss123
2008-10-04
知道答主
回答量:58
采纳率:0%
帮助的人:0
展开全部
hehe ```有些编译系统支持6位,有些7位嘛。建议你买本谭浩强的C语言程序设计看看,一看你就什么都明白了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式