当前位置: 首页 > 学习知识 > VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?

VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?

网站编辑:上海建站网 发布时间:2022-05-18  点击数:
导读:VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢? VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?比如在vc中#includemain(){float x;x=12345678.0;printf("x=%fn",x);}还有#includemain(){f...

VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?

VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?
比如在vc中
#include
main()
{
float x;
x=12345678.0;
printf("x=%fn",x);
}还有#include
main()
{
float x;
x=123456789.0;
printf("x=%fn",x);
}
输出的结果有差异,第二歌词程序貌似就是随机数了.求大虾指教 山中人 1年前他留下的回答 已收到1个回答

世界几大我几高 网友

该名网友总共回答了18个问题,此问答他的回答如下:采纳率:83.3%

我来回答你的问题:
float类型的比特位数为32位,也就是4字节,有效数字为6~7位;
double类型的比特位数为64位,也就是8字节,有效数字为15~16位;
你这里数字为x=12345678.0九位有效数字而float只能接收7位有效数字,那么8.0就是无意义的,并不准确地表示该数.
x=123456789.0时,10位有效数字,同样也只能接收7位有效数字,那么89.0也是无效的,也是不准确地表示该数.
如果你想电脑准确地表示该数应该用double类型就可以了.
我再来给你讲一下为什么总是在小数点后有6位.原因是这样的:
浮点型数据在内存中是按照指数形式存储的.系统把一个浮点型数据分成小数部分和指数部分,分别存放.指数部分采用规范化的指数形式.以24位表示小数部分,以8位表示指数部分.
以上是我的学习意见,给你提供参考~

1年前他留下的回答

5

  以上就是小编为大家介绍的VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢? 的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海建站网!

  标签:
内容声明:网站所展示的内容均由第三方用户投稿提供,内容的真实性、准确性和合法性均由发布用户负责。上海建站网对此不承担任何相关连带责任。上海建站网遵循相关法律法规严格审核相关关内容,如您发现页面有任何违法或侵权信息,欢迎向网站举报并提供有效线索,我们将认真核查、及时处理。感谢您的参与和支持!
浏览此文的人还看过
醉赤壁歌词
醉赤壁歌词

详情:操作步骤/方法【方法1】1《醉赤壁》2歌手:林俊杰3落叶堆积......

word文档如何设置快捷键
word文档如何设置快捷键

详情:操作步骤/方法1我们新建一份word打开,点击左上角的文件图......

芈八子是什么位分,芈八子地位是
芈八子是什么位分,芈八子地位是

详情:操作步骤/方法1芈八子就是后来成为宣太后,原是秦惠文王的嫔妃......

杨绛怎么读
杨绛怎么读

详情:操作步骤/方法11杨绛拼音:[yángjiàng]。22杨绛......