编一段可以将输入的十进制整数num转换成二进制字符串输出的c语言代码
时间: 2023-07-16 17:13:32 浏览: 167
下面是将十进制整数num转换成二进制字符串输出的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
void dec2bin(int num) {
int binary[32], i = 0;
while (num > 0) {
binary[i] = num % 2;
num = num / 2;
i++;
}
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int num;
printf("Please enter a decimal number: ");
scanf("%d", &num);
printf("The binary representation of %d is: ", num);
dec2bin(num);
return 0;
}
```
运行结果:
```
Please enter a decimal number: 23
The binary representation of 23 is: 10111
```
相关问题
用c语言编写程序:将十进制整数num转换成二进制字符串输出
好的,以下是用 C 语言编写的程序,可以将十进制整数转换为二进制字符串并输出:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num, i, j;
char binary[32]; // 最多存储32位二进制数
printf("请输入一个十进制整数:");
scanf("%d", &num);
if(num == 0) // 特殊情况,直接输出0即可
{
printf("0");
return 0;
}
// 将十进制数转换为二进制数
for(i = 0; num > 0; i++)
{
binary[i] = num % 2 + '0'; // 将余数转换为字符
num = num / 2;
}
// 将二进制数字符串反转
for(j = 0; j < i / 2; j++)
{
char temp = binary[j];
binary[j] = binary[i - j - 1];
binary[i - j - 1] = temp;
}
printf("转换后的二进制数为:%s", binary);
return 0;
}
```
输入一个十进制整数,程序会将其转换为二进制字符串并输出。如果输入的整数是0,直接输出0即可。如果需要转换的二进制数超过了32位,需要修改程序中的 `binary` 数组大小。
提供一个将十进制整数转换为二进制字符串的C语言程序示例代码
在C语言中,你可以使用位运算符和数组来实现一个简单的十进制转二进制的函数。下面是一个基本的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 将十进制数转换成二进制字符串
void decimalToBinary(int num, char binary[50]) {
int i = 0;
while (num > 0) {
binary[i] = num % 2 + '0'; // 取余并转换为字符
num /= 2; // 整除2
i++;
}
binary[i] = '\0'; // 添加字符串结束符
// 输出结果时倒序,因为最初是从最低位开始取余的
for (int j = strlen(binary) - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimalNum;
printf("请输入一个十进制整数:");
scanf("%d", &decimalNum);
char binaryStr[50];
decimalToBinary(decimalNum, binaryStr);
printf("\n二进制表示为:%s\n", binaryStr);
return 0;
}
```
在这个程序中,`decimalToBinary` 函数接收一个十进制整数 `num` 和一个字符数组 `binary` 作为输入。它通过循环不断对 `num` 进行整除2并取余,然后将余数存储到数组中。最后,由于数组的索引从0开始,所以在打印结果前需要倒序。
阅读全文