输入一个不大于32767的正整数N,将它转换成一个二进制数。 例如: 输入:100 输出: 1100100
答案:3 悬赏:60 手机版
解决时间 2021-08-17 17:13
- 提问者网友:暮烟疏雨之际
- 2021-08-17 04:42
输入一个不大于32767的正整数N,将它转换成一个二进制数。 例如: 输入:100 输出: 1100100
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-08-17 05:58
你什么意思·~我都不明白。。。
全部回答
- 1楼网友:酒安江南
- 2021-08-17 08:37
#include <stdio.h>
void dto2(void* num, int n)
{
typedef unsigned char *pbyte;
int i;
pbyte p = (pbyte)num + n - 1;
while(p >= (pbyte)num) {
for(i = 7; i >= 0; --i)
putchar(*p & (1 << i) ? '1' : '0');
putchar(' ');
--p;
}
putchar('\n');
}
int main()
{
short a;
scanf( "%d", &a );
dto2( &a, sizeof( a ) );
getchar();
return 0;
}
- 2楼网友:酒者煙囻
- 2021-08-17 07:16
简单的写了一个 不懂可以追问
#include "stdio.h"
void main()
{
int a[33],num,i=0;
printf("请输入一个正整数:");
scanf("%d",&num);
if (!num)
{
printf("二进制数为:0\n");
return;
}
while (num)
{
a[i++]=num%2;
num/=2;
}
printf("二进制数为:");
while (i)
{
printf("%d",a[--i]);
}
printf("\n");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯