2. 编写程序,将任意一个十进制数转换成二进制数,并将每位二进制数按从高位到低位的顺序存放到数组中,然后输出。c语言编写程序
时间: 2024-12-10 21:42:44 浏览: 21
将任意大小的二进制数转换为十进制数:将任意大小的二进制数转换为十进制数的函数。-matlab开发
在C语言中,你可以使用循环和位运算来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
// Function to convert decimal number to binary and store in array
void decToBinary(int num, int* binaryArray, int size) {
for (int i = 0; i < size && num > 0; i++) {
binaryArray[i] = num % 2;
num /= 2;
}
}
// Function to print the binary array from highest bit to lowest
void printBinaryArray(int* arr, int size) {
printf("Binary representation (from high to low): ");
for (int i = size - 1; i >= 0; i--) {
printf("%d", arr[i]);
}
printf("\n");
}
int main() {
int decimalNum;
printf("Enter a decimal number: ");
scanf("%d", &decimalNum);
// Assuming you want at most 32 bits for binary representation (64-bit integer)
int binary[32];
int size = sizeof(binary) / sizeof(binary[0]);
decToBinary(decimalNum, binary, size);
printBinaryArray(binary, size);
return 0;
}
```
在这个程序中,我们首先定义了一个函数`decToBinary`,它将给定的十进制数转换为二进制并存储在数组`binaryArray`中。接着,`printBinaryArray`函数用于打印数组内容,从高位到低位。在主函数`main`里,用户输入一个十进制数,然后调用这两个函数完成整个过程。
阅读全文