利用C语言 将BCD码转成二进制输出的程序

Python016

利用C语言 将BCD码转成二进制输出的程序,第1张

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define INPUT_BCD_MAX_LENGTH 10

int main(void)

{

    //

    char bcd[ INPUT_BCD_MAX_LENGTH ]

    char *bin = NULL

    char t_bin[ 6 ]

    int i, j, q, r, t, bcd_len, bin_len

    printf( "Please enter the decimal code: " )

    scanf("%s", bcd)

    

    bcd_len = strlen( bcd )

    bin_len = bcd_len * 6 + 1

    bin = ( char * )malloc( bin_len )

    memset( bin, 0, bcd_len * 6 + 1 )

    for( i = 0 i < bcd_len i++ )

    {

        /* 把字符转换为数字*/

        q = bcd[ i ] - '0'

        //将每个十进制转换为四位二进制

        for( j = 0 j < 4 j++ )

        {

            t = q / 2

            r = q % 2

            q = t

            if( q == 0 && r != 1 )

            {

                t_bin[ j ] = '0'

            }

            else

            {

                //把数字转换为字符

                t_bin[ j ] = r + '0'

            }

        }

        t_bin[ j ] = ' '

        t_bin[ j + 1 ] = '\0'

        strrev( t_bin )

        strcat( bin, t_bin )

    }

 

    printf( "BCD coded decimal:\n%s\n", bin )

    free( bin )

    bin = NULL

 

    system("pause")

    return 0

}

给你一个可以转换任意长度的

int org=1212123 /*这个数是要转换的正整数,可以任意长度*/

int bcd[255] /*用于存放bcd码,默认255个位数*/

int i=0,j=0

do{

bcd[i]=org%10

i++

org=org/10

}while(org)

for(j=i-1j>=0j--)

{

printf("%-5d,",bcd[j])

}

c语言程序将正整数转换成8421码(又称BCD码)形式的字符串?怎么理解程序求注释

```c

#include

int main()

{

int num//定义一个变量num,用来存储需要转换的正整数

printf("请输入一个正整数:") //提示用户输入需要转换的正整数

scanf("%d",