标题:
求助c语言float变量和字符串占内存大小问题
[打印本页]
作者:
一袋天骄
时间:
2018-7-26 08:51
标题:
求助c语言float变量和字符串占内存大小问题
1.没有进行字符串转换,程序大小48B
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
float fengsu;
long guang;
uchar str[10];
void display1()
{
guang=60000;
// sprintf(str,"%5ld",guang);
}
void display2()
{
fengsu=12.34;
//sprintf(str,"%5.2f",fengsu);
}
void main()
{
while(1)
{
display1();
display2();
}
}
复制代码
作者:
一袋天骄
时间:
2018-7-26 08:52
本帖最后由 一袋天骄 于 2018-7-26 11:00 编辑
2.进行字符串转化,程序变大到2594B
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
float fengsu;
long guang;
uchar str[10];
void display1()
{
guang=60000;
sprintf(str,"%5ld",guang);
}
void display2()
{
fengsu=12.34;
sprintf(str,"%5.2f",fengsu);
}
void main()
{
while(1)
{
display1();
display2();
}
}
复制代码
作者:
一袋天骄
时间:
2018-7-26 08:59
本帖最后由 一袋天骄 于 2018-7-26 11:00 编辑
3.浮点型变量不转换为字符串,程序大小2559B
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
float fengsu;
long guang;
uchar str[10];
void display1()
{
guang=60000;
sprintf(str,"%5ld",guang);
}
void display2()
{
fengsu=12.34;
//sprintf(str,"%5.2f",fengsu);
}
void main()
{
while(1)
{
display1();
display2();
}
}
复制代码
作者:
一袋天骄
时间:
2018-7-26 09:01
本帖最后由 一袋天骄 于 2018-7-26 11:01 编辑
4.没有浮点型变量,只有长整数变量转换,程序大小1110B
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
float fengsu;
long guang;
uchar str[10];
void display1()
{
guang=60000;
sprintf(str,"%5ld",guang);
}
void display2()
{
//fengsu=12.34;
//sprintf(str,"%5.2f",fengsu);
}
void main()
{
while(1)
{
display1();
display2();
}
}
复制代码
作者:
一袋天骄
时间:
2018-7-26 09:02
本帖最后由 一袋天骄 于 2018-7-26 11:11 编辑
为什么程序大小变化这么大,浮点型变量进行转换,程序直接大了2k
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1