用C语言将十进制整数转换二进制整数:输入一个不大于7的十进制数,输出对 应二进制数。
时间: 2024-11-17 14:28:40 浏览: 12
在C语言中,可以使用位操作符来进行十进制到二进制的转换。下面是一个简单的示例,演示如何实现这个功能:
```c
#include <stdio.h>
// 函数将十进制数转换为二进制字符串
void decToBin(int decimal) {
int binary[8], i = 0;
while (decimal > 0) {
binary[i++] = decimal % 2; // 取余数(0 或 1),存入数组
decimal /= 2; // 除以2,向左移位
}
// 数组倒置,因为二进制是从最低位到最高位
for (i = 0; i < 7 - i; i++) {
int temp = binary[i];
binary[i] = binary[7 - i];
binary[7 - i] = temp;
}
// 打印二进制字符串
for (i = 0; i <= 7; i++) {
printf("%d", binary[i]); // 高位在前,用%d打印每个位
}
printf("\n");
}
int main() {
int input;
printf("请输入一个小于等于7的十进制数: ");
scanf("%d", &input);
printf("对应的二进制数为: ");
decToBin(input);
return 0;
}
```
这个程序首先通过不断取余数并将结果存入数组`binary`,然后将数组元素顺序反转以获得正确的二进制顺序。最后,逐个打印数组元素即为二进制数。请注意,由于题目限制了输入范围是0-7,所以这里直接硬编码了数组大小为8,对于更大的数,你需要调整数组大小以适应。
阅读全文