输入一个十进制整数,输出该整数对应的二进制,格式详见输出描述。 输入描述: 一行,一个十进制整数(范围-231~231-1)。 输出描述: 一行,输入的十进制整数对应的二进制整数,高位不含有0,以字符'B'结尾。c语言
时间: 2024-12-14 07:25:56 浏览: 7
在C语言中,你可以通过位运算和字符串处理来实现这个功能。以下是一个简单的程序示例:
```c
#include <stdio.h>
#include <string.h>
// 函数用于将十进制转换成二进制并添加B后缀
void decimalToBinary(int num) {
char binary[34]; // 预留空间给最长的32位二进制数(+1 for 'B')
int i = 0;
while (num > 0) {
binary[i] = num % 2 + '0'; // 除以2取余,并加上ASCII值对应字符
num /= 2;
i++;
}
if (binary[0] == '0') { // 如果最左边是0,则去掉
memmove(binary, binary + 1, sizeof(binary)); // 使用memmove避免数组越界
}
binary[i] = '\0'; // 添加结束符
printf("%sB\n", binary); // 输出结果
}
int main() {
int decimal;
scanf("%d", &decimal);
decimalToBinary(decimal);
return 0;
}
```
在这个程序里,我们首先读入一个十进制整数,然后通过不断对2取余的方式得到它的二进制形式。因为最高位如果为0,通常会提前转换完成,所以需要检查并移除首位的0。最后,我们将二进制数打印出来,并加上'B'作为后缀。
阅读全文