⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mymath.lst

📁 基于AT89S52的RLC测试仪
💻 LST
字号:
C51 COMPILER V6.12  MYMATH                                                                 06/28/2007 13:08:17 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE MYMATH
OBJECT MODULE PLACED IN .\mymath.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE .\mymath.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include<string.h>
   2          #include<math.h>
   3          #include"tdp.h"
   4          /***********************************************
   5          浮点数溢出检测函数
   6          ***********************************************/
   7          bit fover(float x)
   8          {
   9   1         union 
  10   1         {  float f;
  11   1            long l;
  12   1         }fl;
  13   1         fl.f=x;
  14   1         if(fl.l==0x7f800000||fl.l==0xff800000)return 1;
  15   1         else return 0;   
  16   1      }
  17          /******************************************
  18          浮点数转为字符串.结果以单位前缀方式表示
  19          ******************************************/
  20          char* ftos(float x)
  21          {
  22   1      	 uchar code danwei[]={'p','n','u','m',0,'K','M'};
  23   1           char str[8],dw;
  24   1      	  char data *p;
  25   1           char i,j;
  26   1           if(fover(x))
  27   1           	{ //溢出
  28   2              strcpy(str,"INF");
  29   2      		  return str;
  30   2           	}
  31   1      	 if(x>=1000e6)
  32   1      	 	{ //溢出
  33   2              strcpy(str,"INF");
  34   2      		return str;
  35   2           	}
  36   1           if(x==0)
  37   1           	{
  38   2              strcpy(str,"0");
  39   2              return str;
  40   2           	}
  41   1           //求单位
  42   1      	x*=1e12;	
  43   1      	for(i=0;i<6 && x>=1000;i++,x/=1e3);
  44   1      	dw=danwei[i];	//保存单位
  45   1      	for(j=0;x>=1;j++,x/=10);
  46   1      	x+=5e-5;
  47   1      	p=str;
  48   1      	if(j==0)*p++='0';
  49   1      	for(i=0;i<4;i++)
  50   1      		{
  51   2      		if(j--==0)*p++='.';
  52   2      		x*=10;
  53   2      		*p++=(char)x+'0';
  54   2      		x-=(char)x;
  55   2      		}
C51 COMPILER V6.12  MYMATH                                                                 06/28/2007 13:08:17 PAGE 2   

  56   1      	*p++=dw;
  57   1      	*p=0;
  58   1          return str;
  59   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    510    ----
   CONSTANT SIZE    =     13    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      20
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -