十进制转二进制的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程序。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签