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;
}
上一篇: 牛客 - 完全图(二分)
下一篇: 牛客二分