C语指罩郑言怎中取模唯颂运算符是“%”,作用是求两个数相除的余数。
例如,请看下面这段代码:
x=15/7如果x是一个整数,x的值将为2。然而,如果用取模运算符代替除法运算符"/",得到的结果就不同了:
X=15%7闷败 这个表达式的结果为15除以7的余数,等于1,这就是说,15除以7得2余1。
取模运算符通常用来判断一个数是否被另一个数整除。例如,如果要打印字母表中序号为3的倍数的字母,可以使用下面这段代码:
int xfor(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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)