21xrx.com
2024-11-25 11:21:15 Monday
登录
文章检索 我的文章 写文章
C语言实现十进制转换为二进制:详解
2023-06-14 07:33:01 深夜i     --     --
C语言 十进制 二进制

C语言是一门底层的编程语言,数字的处理是其重要内容之一,而数字转换不可避免。对于数字转换,其中十进制转换为二进制是一个基础的知识点,也是一个最为常见的需求。那么,如何在C语言中实现十进制转换为二进制呢?下面我们来详细讲解。

一、把十进制整数转换为二进制整数的方法

在C语言中,实现十进制转换为二进制有两种方法:循环法和递归法。

循环法:

1. 定义一个数组,将2依次除去原数,余数记录在数组中。

2. 将除数与余数相除后并更新原数值,直到原数值为0。

3. 倒序输出数组中记录的所有余数即可得到二进制数。

递归法:

1. 判断原数是否等于1。

2. 如果原数大于1,则将原数除以2并向下取整,然后将商作为新的原数递归调用此函数。

3. 倒序输出每次递归的结果,即得到二进制数。

二、利用C语言实现十进制转换为二进制的代码

循环法的代码实现:


#include

#define N 32

int main(void)

{

 int a[N]={0};

 int n, i, j;

 scanf("%d", &n);

 i = 0;

 do

 {

  a[i] = n % 2;

  n = n / 2;

  i++;

 } while(n != 0);

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

 {

  printf("%d", a[j]);

 }

 return 0;

}

递归法的代码实现:


#include

void change(int a)

{

  if (a == 1)

  {

    printf("%d", a);

    return;

  }

  else

  {

    change(a/2);

    printf("%d", a%2);

  }

}

int main()

{

  int n;

  scanf("%d", &n);

  change(n);

  return 0;

}

三、总结

上述代码均可用于实现十进制转换为二进制,两种方法各有千秋,读者可以自行选择适合自己的方法。但需要注意的是:数组的长度应该足够大,以容纳每一位二进制数字。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复