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

📄 商小数处理_2.c

📁 单片机C语言15个实验附有原理图和程序 是我的课程作业 以经过实践验证
💻 C
字号:
//int0+int1
#include <stdio.h>
#include <reg51.h>
#include <intrins.h>

unsigned int xx=9111,yy=22;
unsigned long bb;
unsigned char f[8] _at_ 0x30,disp[4] _at_ 0x40,
      i _at_ 0x20 ,j _at_ 0x21,point_no _at_ 0x22,point _at_ 0x23;
void chufa()
{while((int)xx/1000==0)
	   {xx=10*xx; i++;}
  while((int)yy/1000==0)
	   {yy=10*yy;j++;}  
  bb=xx*(long)10000/yy;
  point_no=i+4-j;
 }
void hextodec(unsigned long zz,point_no)
{f[7]=0;f[6]=0;f[5]=0;
 f[4]=zz/10000; zz=zz%10000;
 f[3]=zz/1000;  zz=zz%1000;
 f[2]=zz/100;   zz=zz%100;  
 f[1]=zz/10;    zz=zz%10;
 f[0]=zz;
 if(point_no>4){disp[0]=f[point_no-3];disp[1]=f[point_no-2];//实际商<1
                disp[2]=f[point_no-1];disp[3]=f[point_no];
				if(f[point_no-4]>4)disp[0]=disp[0]+1;//四舍五入
 			    if(disp[0]>9){disp[0]=0;disp[1]=disp[1]+1;}
                if(disp[1]>9){disp[1]=0;disp[2]=disp[2]+1;}
                if(disp[2]>9){disp[2]=0;disp[3]=disp[3]+1;}
			    point=3;}
		  else {disp[0]=f[1];disp[1]=f[2];      //实际商>1
                disp[2]=f[3];disp[3]=f[4];  
			    if(f[0]>4)disp[0]=disp[0]+1;//四舍五入
 			    if(disp[0]>9){disp[0]=0;disp[1]=disp[1]+1;}
                if(disp[1]>9){disp[1]=0;disp[2]=disp[2]+1;}
                if(disp[2]>9){disp[2]=0;disp[3]=disp[3]+1;}
			    point=point_no-1;	  }  }
 
void main(void)
{ while(1)
  {chufa();
   hextodec(bb,point_no);}
 }  



	   


⌨️ 快捷键说明

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