C语言十进制转化为二进制
时间: 2023-09-21 11:07:56 浏览: 124
在C语言中,可以使用位运算符来将十进制数转换为二进制数。下面是一个简单的示例代码:
```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 n;
printf("请输入一个十进制数:");
scanf("%d", &n);
printf("该数的二进制表示为:");
decimalToBinary(n);
return 0;
}
```
在这个示例代码中,我们定义了一个函数 `decimalToBinary`,它接受一个整数参数 `n`,并将其转换为二进制数并输出。具体的实现是,我们使用一个数组 `binary` 来存储二进制数的每一位,然后通过循环和位运算符来计算每一位的值,最后倒序输出数组中的每一位。在主函数中,我们使用 `scanf` 函数获取用户输入的十进制数,并调用 `decimalToBinary` 函数来输出其二进制表示。
相关问题
c语言十进制转化为二进制
在C语言中,将十进制数转换为二进制数通常通过循环和位操作来实现。你可以使用`sprintf`函数结合`bitset`库,或者手动进行计算。这里是一个简单的手动方法:
```c
#include <stdio.h>
// Function to convert decimal to binary
void dec_to_bin(int num) {
int binary[32]; // Assuming the number is less than 2^31
int i = 0;
while (num > 0) {
binary[i] = num % 2; // Get the remainder of division by 2
num /= 2; // Shift the number to the left
i++;
}
// Print the binary digits in reverse order
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
printf("Binary representation: ");
dec_to_bin(decimal);
return 0;
}
```
当你运行这个程序,它会提示用户输入一个十进制数字,然后将其转换为二进制并打印出来。
C语言十进制转化为二进制的函数
以下是一个将十进制数转换为二进制数的函数示例:
```c
#include <stdio.h>
void decToBin(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 decimal = 10;
decToBin(decimal);
return 0;
}
```
该函数将一个十进制数作为输入,然后使用循环将其转换为二进制数,并将其存储在整型数组中。最后,将该数组反向输出以获得正确的二进制表示。在此示例中,将数字10转换为二进制数为1010。
阅读全文
相关推荐













