C语言 一个指数形式的数字占几个字节,属于double么? 5
我想实现在一个文件中读入数字,操作后写入原来的位置,就用了fseek函数,但是数字老是对不上号,求高手指点。...
我想实现在一个文件中读入数字,操作后写入原来的位置,就用了fseek函数,但是数字老是对不上号,求高手指点。
展开
1个回答
展开全部
float和double都是浮点数,它们在内存中都不是直接存放每一位的,而是按照写成了X乘以2的e次方的形式,然后在内存中存放X和e的值,但是标准又各有不同。
而float型占的字节是double型的一半,32位机器上float型占4字节,double型占8字节。
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
FILE *fp;
if((fp=fopen("e:\\double.txt","r"))==NULL)
exit(-1);
char digit[100];
double a;
while(!feof(fp))
{
fscanf(fp,"%s",digit);
a=atof(digit);//这个是将字符串转成双精度数,如果数字字符串精度过大(就是过长)自动截断
printf("%10f\n",a);//10表示的是这个double型的数字输出来的格式共占了10位
}
getch();
return 0;
}
double.txt中的内容为
TableDI
2024-07-18 广告
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击98步自动完成vlookup匹配,无需手写公式,免费使用!...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询