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

📄 bcd码转换(源代码).txt

📁 BCD码转换(源代码) 这是我写的一个用于BCD码转换的小程序。
💻 TXT
字号:
BCD码转换(源代码)

http://www.lslnet.com/linux/dosc1/66/linux-428783.htm

这是我写的一个用于BCD码转换的小程序。

#include <stdio.h>;

int DEC_BCD( int d, unsigned char *b, int w )
{
        unsigned char tmp[16], *p1, *p2;
        unsigned int i;

        sprintf( (char *)tmp, "%d", d );
        p1=tmp;
        p2=b;

        if( strlen(tmp) >; w ) { /*数值超限*/
                printf( "number width overflow!" );
                return( -1 );
        }

        if( ( strlen( tmp )%2 ) != 0 ) {
                *p2 = (int)*p1 - '0';
                p1++;
                p2++;
        }

        while( *p1 != (char)0 ) {
                *p2 = (int)*p1 - '0';
                *p2 <<= 4;
                p1++;
                *p2 |= ( (int)*p1 - '0' );
                p1++;
                p2++;
        }

        *p2=(char)0;
        return( 0 );
}

void BCD_DEC( unsigned char *b, int *d )
{
        unsigned char tmp[16], *p1, *p2;

        p1=b;
        p2=tmp;
        memset( tmp, 0, sizeof(tmp) );

        while( *p1 != (char)0 ) {
                *p2 = ( (*p1 >;>;4) & 0X0F ) + '0';
                p2++;
                *p2 = ( *p1 & 0X0F ) + '0';
                p2++;

                p1++;
        }

        *d=atoi( tmp );

        return;
}


DEC_BCD用于将整形值转换为BCD码;
BCD_DEC用于将BCD码转换回整形值。

⌨️ 快捷键说明

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