利用数组编写以下c语言程序: 1、将十进制转化为二进制数;
时间: 2024-06-16 16:06:58 浏览: 128
当我们将十进制数转化为二进制数时,可以利用数组来存储二进制数的每一位。以下是一个用C语言编写的程序示例:
```c
#include <stdio.h>
void decimalToBinary(int decimal) {
int binary[32]; // 用数组存储二进制数的每一位
int i = 0;
// 将十进制数转化为二进制数
while (decimal > 0) {
binary[i] = decimal % 2;
decimal = decimal / 2;
i++;
}
// 输出二进制数
printf("二进制数为:");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
decimalToBinary(decimal);
return 0;
}
```
运行程序后,它会要求你输入一个十进制数,然后将该十进制数转化为二进制数并输出。
相关问题
c语言编写程序将一个十进制整数转化为二进制数
好的,以下是C语言代码实现:
```c
#include <stdio.h>
void dec_to_bin(int n) {
int binary[32];
int i = 0;
while (n > 0) {
binary[i] = n % 2;
n /= 2;
i++;
}
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int n;
printf("Enter a decimal number: ");
scanf("%d", &n);
printf("Binary representation: ");
dec_to_bin(n);
printf("\n");
return 0;
}
```
我们定义了一个 `dec_to_bin` 函数,用于将一个十进制整数转化为二进制数,并打印出来。我们使用一个数组 `binary` 来存储二进制数的每一位,然后从低位到高位遍历该数组,打印出每一位。
在 `main` 函数中,我们首先读取用户输入的十进制整数,然后调用 `dec_to_bin` 函数将其转化为二进制数,并打印出来。
C语言八位二进制数数组转化为十进制
假设给定一个八位二进制数数组,如下所示:
```c
int binary[8] = {1, 0, 1, 1, 0, 1, 0, 0};
```
要将其转换为十进制,可以使用以下算法:
1. 从最高位开始,将每个二进制位乘以 2 的幂,幂的指数从 0 开始,每次加一。
2. 将乘积相加,得到十进制结果。
按照上述算法,可以编写以下 C 代码:
```c
#include <stdio.h>
int main() {
int binary[8] = {1, 0, 1, 1, 0, 1, 0, 0};
int decimal = 0;
int i;
for (i = 0; i < 8; i++) {
decimal += binary[i] * (1 << (7 - i));
}
printf("Binary: ");
for (i = 0; i < 8; i++) {
printf("%d", binary[i]);
}
printf("\nDecimal: %d\n", decimal);
return 0;
}
```
输出结果为:
```
Binary: 10110100
Decimal: 180
```
可以看到,将八位二进制数数组转换为十进制得到的结果为 180。
阅读全文