tchkfloat.c

来自「单片及c语言轻松入门的随书光盘」· C语言 代码 · 共 32 行

C
32
字号
#include <reg52.h>
#include <intrins.h>
#include <stdio.h> /*为使用printf函数而加入*/
float f1, f2, f3;
void tst_chkfloat (void) {
	f1 = f2 * f3;
	switch (_chkfloat_ (f1)) 
	{
		case 0:
			printf ("result is a number\n"); break;
		case 1:
			printf ("result is zero\n"); break;
		case 2:
			printf ("result is +INF\n"); break;
		case 3:
			printf ("result is -INF\n"); break;
		case 4:
			printf ("result is NaN\n"); break;
	}
}
void main()
{	SCON  = 0x50;    /*SCON:工作模式1,8-bit UART,允许接收*/
	TMOD |= 0x20;    /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/
	TH1   = 0xf3;    /*当波特率为2400时,定时器初值*/
	TR1   = 1;       /*定时器T1开始运行*/
	TI    = 1;       /*允许发送数据*/
	f2=10.5;
	f3=0.2;	//准备待测量的数
	for(;;)
		tst_chkfloat();
}

⌨️ 快捷键说明

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