21xrx.com
2025-03-23 12:21:04 Sunday
文章检索 我的文章 写文章
C语言实现十进制转换为二进制:详解
2023-06-14 07:33:01 深夜i     15     0
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;
}

三、总结

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

  
  

评论区