C语言怎么进行模2运算

C语言怎么进行模2运算,第1张

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的倍数的所有字母。

求得结果是返回得到的余数么? 是转换为二进制还是??

如果是转换为二进制则代码如下:

// test3.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <stdio.h>

#include <iostream>

#include <math.h>

using namespace std

void comput(int x,char 竖渣*s)

int _tmain(int argc, _TCHAR* argv[])

{

int x,i

char s[32]

scanf("戚纤坦%d",&x)

comput(x,s)

for (i=strlen(s),i--i>=0i--)

{

cout<<s[i]

}

printf("\n")

system("pause")

return 0

}

void comput(int x,char *s)

{

int y

int i=0,j

while (true)

{

if (x%2==0)

{

s[i++]='0'

}

else

{

s[i++]='高桐1'

}

j=x/2

x=j

if (j==0)

{

s[i]='\0'

return

}

}

}

截图如下:

模2加法运算定义为:

0+0=0        0+1=1        1+0=1        乎渗碰1+1=0

例如0101+0011=0110,列竖式计算:

0 1 0 1

+0 0 1 1

──────

0 1 1 0

模2减法运算定义为:

0-0=0        0-1=1        1-0=1        1-1=0

例如0110-喊消0011=0101,列竖式计算:

0 1 1 0

-0 0 1 1

──────

0 1 0 1

模2乘法运算定义为:

0×0=0        0×1=0        1×0=0        1×1=1

多位二进制模2乘法类似于普通意义上的多位二进制乘法,不同之处在于后者累加中间结果(或称部分积岁谈)时采用带进位的加法,而模2乘法对中间结果的处理方式采用的是模2加法。

例如1011×101=100111,列竖式计算:

1 0 1 1

×  1 0 1

──────

1 0 1 1

0 0 0 0

1 0 1 1

────────

1 0 0 1 1 1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12535987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存