欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言十进制与BCD码的相互转换

程序员文章站 2024-03-17 15:05:16
...

十进制与BCD码的相互转换

为了调用方便这里直接编写成函数,方便调用
十进制转换BCD码

int decimal_bcd_code(int decimal)//十进制转BCD码
{
	int sum = 0, i;//i计数变量,sum返回的BCD码
	for ( i = 0; decimal > 0; i++)
	{
		sum |= ((decimal % 10 ) << ( 4*i));
		decimal /= 10;
	}
	return sum;
}
BCD码转换十进制
int bcd_decimal_code( int bcd)//bcd转十进制
{
	int sum = 0, i, c;//sum返回十进制,i循环计数,c每次翻10倍
	for( i = 1; bcd > 0; i++)
	{
		if( i >= 2)
		{
			c*=10;
		}
		sum += (bcd%16) * c;
		bcd /= 16;//  /16同理与十进制除10将小数点左移一次,%16也同理
	}
	return sum;
}