用c语言实现十进制转二进制
时间: 2024-08-15 08:04:25 浏览: 76
在C语言中,我们可以使用位运算符来将十进制整数转换为二进制。以下是一个简单的函数示例,它通过循环和右移操作实现这个过程:
```c
#include <stdio.h>
void decimalToBinary(int num) {
if (num == 0) {
printf("0");
} else {
while (num > 0) {
int remainder = num & 1; // 取余数得到最低位
printf("%d", remainder); // 输出当前位
num >>= 1; // 左移一位去掉最低位
}
}
}
int main() {
int decimal = 10;
printf("Binary representation of %d is ", decimal);
decimalToBinary(decimal);
return 0;
}
```
当你运行这个程序,输入数字`decimal`,比如10,它会输出其二进制表示,即`1010`。
相关问题
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);
阅读全文