float to hex.c

来自「16路巡检仪 该仪表采用c语言编写」· C语言 代码 · 共 82 行

C
82
字号
#include	"head.h"
uchar	pp;
uchar	*	floatToBCD(float X,uchar	*p)
{
	if(X>9999)
		{
			p[0]=10;
			p[1]=15;
			p[2]=17;
			p[3]=10;
		}
	else if(X>=1000)
		{
			Hex2Bcd(X, p);
			pp=0;
		}
	else if(X>=100)
		{
			X*=10;
			Hex2Bcd(X, p);
			pp=1;
		}
	else if(X>=10)
		{
			X*=100;
			Hex2Bcd(X, p);
			pp=2;
		}
	else if(X>=1)
		{
			X*=1000;
			Hex2Bcd(X, p);
			pp=3;
		}
	else if(X>=0.1)
		{
			X*=1000;
			Hex2Bcd(X, p);
			pp=3;
		}
	else if(X>=0.01)
		{
			X*=1000;
			Hex2Bcd(X, p);
			pp=3;
		}
	else if(X>=0.001)
		{
			X*=100;
			Hex2Bcd(X, p);
			pp=3;
		}
	else if(X>=0)
		{
			p[0]=0;
			p[1]=0;
			p[2]=0;
			p[3]=0;
		}
	return p;
}




















⌨️ 快捷键说明

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