永发信息网

二进制求余数(模2算法),怎么用C语言实现?

答案:5  悬赏:50  手机版
解决时间 2021-04-07 16:28
  • 提问者网友:太高姿态
  • 2021-04-06 17:43
二进制求余数(模2算法),怎么用C语言实现?
最佳答案
  • 五星知识达人网友:我住北渡口
  • 2021-04-06 18:24
C语言怎中取模运算符是“%”,作用是求两个数相除的余数。
  例如,请看下面这段代码:
x=15/7;
  如果x是一个整数,x的值将为2。然而,如果用取模运算符代替除法运算符"/",得到的结果就不同了: 
 X=15%7;
  这个表达式的结果为15除以7的余数,等于1,这就是说,15除以7得2余1。

  取模运算符通常用来判断一个数是否被另一个数整除。例如,如果要打印字母表中序号为3的倍数的字母,可以使用下面这段代码:
 int x;
  for(x=1; x<=26; x++)
  if((x%3)==0)
  printf("%c"; x+64);
  上例将输出字符串"cfilorux",即字母表中序号为3的倍数的所有字母。
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-04-06 22:04
是十进制转二进制吧?代码如下:
#include<stdio.h>
main()
{
int a,b=0,c[100];//c用于储存除以二的余数,b用于控制循环
printf("请输入一个十进制数\n");
scanf("%d",&a);
if(a==1)
printf("1");
while(a>1)
{
c[b]=a%2;
a=a/2;
b++;
}
c[b]=1;
for(;b>=0;b--)
{
printf("%d",c[b]);//反向输出余数
}
printf("\n");
getch();
return 0;
}
如不符题意,请楼主追问。
......楼主怎么还不采纳,要过期啦。
  • 2楼网友:持酒劝斜阳
  • 2021-04-06 20:41
将这个数不断的2求余,并在求余的同时将下面的余数求出了,会得到相应的1或者0,不断的求余,这样就实现了你所说的了
  • 3楼网友:舊物识亽
  • 2021-04-06 19:27
#include<stdio.h>
#include<string.h>
void main()
{
int i,j,n;
char a[20];
printf("请输入一个数\n");
scanf("n=%d\n",&n);
for(i=0;;i++)
{
if(n%2==0)
{
a[i]='0';
}
else a[i]='1';
j=n/2;
if(j==0)
break;
}
for(j=i-1;i>=0;i--)
printf("%d",a[i]);
}
思路是这样子,可能有错还需调试,我没试,你试试吧。稍作修改即可。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯