VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 07:07:08
VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?
比如在vc中
#include
main()
{
float x;
x=12345678.0;
printf("x=%f\n",x);
}还有#include
main()
{
float x;
x=123456789.0;
printf("x=%f\n",x);
}
输出的结果有差异,第二歌词程序貌似就是随机数了.求大虾指教
比如在vc中
#include
main()
{
float x;
x=12345678.0;
printf("x=%f\n",x);
}还有#include
main()
{
float x;
x=123456789.0;
printf("x=%f\n",x);
}
输出的结果有差异,第二歌词程序貌似就是随机数了.求大虾指教
我来回答你的问题:
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位表示指数部分.
以上是我的学习意见,给你提供参考~
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位表示指数部分.
以上是我的学习意见,给你提供参考~
VC中float和double 型的数字位数是怎么规定弄呢?有效数字是6或7位?为什么总是在小数点后有6位呢?
float有效数字为6-7位指的是小数点后的吗?
C语言中,为啥float类型的有效数字是7位,而double类型的是16位呢 这两种类型之间赋值时,是怎么赋的啊
c语言中的float数据类型的有效数字为什么是6~7位
小明家的电话号码有7位数,后3位数字一样,和是6;在前4位数字中,第2位数字是第1位的2倍,第3位数字是第2位...
5\7小数点后第99位上的数字是几?199位呢?怎么计算?
请问物理实验标准实验偏差是小数点后保留几位有效数字呢?
matlab 怎么在计算工程中始终保留6位有效数字呢 是“保留” 不是“显示”
为什么float型的有效数字为6-7位,是六位还是七位?除去符号为应该是7位吧?书上为什么说6-7位.
在1/7的商中,小数点后87位数字的和是
5除以13小数点后第99位上的数字是几?199位呢...
5÷7的商的小数点后第10位数字是几?第100位呢