用C语言实现十进制转二进制
时间: 2023-09-29 14:03:21 浏览: 164
可以使用以下代码来实现十进制转二进制的功能:
```c
#include <stdio.h>
void decimalToBinary(int n) {
int binary[32];
int i = 0;
// 将十进制数转换为二进制数
while (n > 0) {
binary[i] = n % 2;
n = n / 2;
i++;
}
// 输出二进制数
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
printf("该数的二进制表示为:");
decimalToBinary(decimal);
printf("\n");
return 0;
}
```
运行程序后,输入一个十进制数,程序会将其转换为二进制数并输出。
相关问题
c语言实现十进制转二进制
C语言实现十进制转二进制的代码如下:
```c
#include <stdio.h>
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 n = 17;
decToBinary(n);
return 0;
}
```
输出结果为:10001
c语言实现 十进制 转二
在C语言中,将十进制整数转换为二进制可以使用位操作符或递归函数来实现。这里提供一种基本的非递归方法,通过循环对每位进行判断:
```c
#include <stdio.h>
// 函数用于将十进制转换为二进制字符串
void dec_to_bin(int num, char binary[64]) {
int i = 0;
while (num > 0) {
// 取余数并将其添加到结果字符串的最左边
binary[i] = num % 2 + '0'; // 由于'0'对应二进制的0,加'0'就直接得到字符表示
num /= 2; // 向右移除最低有效位
i++;
}
// 如果输入是正数,不需要补零;如果输入是负数,则需要在前面加上前缀 '-'
if (binary[0] == '0' && num == 0)
binary[0] = '-';
binary[i] = '\0'; // 结束字符串
}
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
char binary[64];
dec_to_bin(decimal, binary);
printf("对应的二进制数是:%s\n", binary);
阅读全文