十进制转二进制的C程序?

1. 什么是二进制?

在计算机中,二进制是一种用于编码数字、字母和符号的系统,它只使用两个数字0和1。我们平常接触到的十进制数字系统就是使用十个数字0-9来表达。

2. 十进制和二进制之间的转换

将十进制数转换成二进制数,我们需要不断地将它除以2并记录余数,直到商为0为止。然后反向排列记录的余数,就是我们所求的二进制数。

2.1 十进制转二进制的流程

以下是将十进制数15转换成二进制数的流程:

15 / 2 = 7 余 1

7 / 2 = 3 余 1

3 / 2 = 1 余 1

1 / 2 = 0 余 1

所以,15的二进制数为1111。

2.2 C程序实现十进制转二进制

下面是一个使用C语言实现将十进制数转换成二进制数的例子:

#include <stdio.h>

//将十进制n转换为二进制并打印出来

void decToBinary(int n) {

int binaryNum[32]; //用来存储二进制数

int i = 0;

while (n > 0) {

binaryNum[i] = n % 2; //获取余数

n = n / 2; //获取商

i++;

}

//打印出二进制数(注意:要从后往前打印)

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

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

}

}

int main() {

int decimalNum = 15;

decToBinary(decimalNum);

return 0;

}

以上程序的输出结果为:

1111

3. 二进制转十进制

将二进制数转换成十进制数,我们需要用权的方式将每一位数字进行求和。

3.1 二进制转十进制的流程

以下是将二进制数1111转换成十进制数的流程:

1 * 2^3 = 8

1 * 2^2 = 4

1 * 2^1 = 2

1 * 2^0 = 1

所以,1111的十进制数为15。

3.2 C程序实现二进制转十进制

下面是一个使用C语言实现将二进制数转换成十进制数的例子:

#include <stdio.h>

#include <math.h>

//将二进制数n转换为十进制并返回

int binaryToDec(int n) {

int decNum = 0;

int i = 0;

while (n > 0) {

int remainder = n % 10; //获取当前位的数字

decNum += remainder * pow(2, i); //加上当前位的值

n = n / 10; //获取下一位的数字

i++;

}

return decNum;

}

int main() {

int binaryNum = 1111;

int decNum = binaryToDec(binaryNum);

printf("%d", decNum);

return 0;

}

以上程序的输出结果为:

15

4. 总结

通过本文的介绍,我们了解了二进制和十进制之间的转换原理,并实现了将十进制数转换成二进制数,以及将二进制数转换成十进制数的C程序。

后端开发标签