取模运算法则,异或运算法则
一.取模运算法则(百度百科)
定义
给定一个正整数p,任意一个整数n,一定存在等式 :
n = kp + r ;
其中 k、r 是整数,且 0 ≤ r < p,则称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数。
对于正整数 p 和整数 a,b,定义如下运算:
取模运算:a % p(或a mod p),表示a除以p的余数。
模p加法: ,其结果是a+b算术和除以p的余数。
模p减法: ,其结果是a-b算术差除以p的余数。
模p乘法: ,其结果是 a * b算术乘法除以p的余数。
说明:
1. 同余式:正整数a,b对p取模,它们的余数相同,记做 或者a ≡ b (mod p)。
2. n % p 得到结果的正负由被除数n决定,与p无关。例如:7%4 = 3, -7%4 = -3, 7%-4 = 3, -7%-4 = -3。
基本性质
若p|(a-b),则a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)
(a % p)=(b % p)意味a≡b (% p)
对称性:a≡b (% p)等价于b≡a (% p)
传递性:若a≡b (% p)且b≡c (% p) ,则a≡c (% p)
运算规则
模运算与基本四则运算有些相似,但是除法例外。其规则如下:
(a + b) % p = (a % p + b % p) % p (1)
(a - b) % p = (a % p - b % p) % p (2)
(a * b) % p = (a % p * b % p) % p (3)
a ^ b % p = ((a % p)^b) % p (4)
结合律:
((a+b) % p + c) % p = (a + (b+c) % p) % p (5)
((a*b) % p * c)% p = (a * (b*c) % p) % p (6)
交换律:
(a + b) % p = (b+a) % p (7)
(a * b) % p = (b * a) % p (8)
分配律:
(a+b) % p = ( a % p + b % p ) % p (9)
((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (10)
重要定理
若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);(11)
若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);(12)
若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),
(a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p); (13)
二.异或运算法则(维基百科)
在数字逻辑中,逻辑算符互斥或闸(exclusive or)是对两个运算元的一种逻辑分析类型,符号为XOR或EOR或⊕。与一般的逻辑或OR不同,当两两数值相同为否,而数值不同时为真。
两个运算元(命题):A与B的异或一般写成A异或B,或者写成、、等等。在C语言中,写作A^B。
在数学和工程学中,常常用其他的逻辑运算符来表示异或算符。异或算符可以被其他逻辑算符表示为:
另外,异或算符可以被推广,得到关于n个运算元的异或运算:n个运算元的n维异或的值为真当且仅当其中值为真的运算元有奇数个。
异或也可以被表示为:
异或还可以看作是逻辑等价关系的非运算。
取模运算法则,异或运算法则相关推荐
- Java中「与运算,或运算,异或运算,取反运算。」
Java中「与运算,或运算,异或运算,取反运算.」 文章目录 Java中「与运算,或运算,异或运算,取反运算.」 Java中的「与运算(AND) & 」 规则 :都为1时才为1,否则为0 Ja ...
- 数学运算符 +(加)、-(减)、(乘)、(除)、%(取余;取模)、(整除)、(幂运算)及分支结构
数学运算符: +(加).-(减).*(乘)./(除).%(取余;取模).//(整除).**(幂运算) 1. +.-.*./ python的加减乘除和小学数学中的加减乘除的功能一样 print(3 + ...
- 什么是异或_异或运算及异或运算的作用
什么是异或_异或运算及异或运算的作用 异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算. 异或的数学符号为"⊕",计算机符号为"xor ...
- java中的或运算_java中的(或运算,异或运算,与运算)
java中或运算.异或运算.与运算的使用实例和解释如下: public class Test { public static void main(String[] args) { // 1.左移 ...
- Java 取余 (remain),取模 (mod) 的 区别和运算
范围区别:取模主要是用于计算机术语中.取余则更多是数学概念. 主要的区别在于对负整数进行除法运算时操作不同 那么具体是怎样的不同? 首先需要知道Java中如何取模: Java中用符号%对数字进行取模, ...
- java或异运算_java中与运算,或运算,异或运算,取反运算
//与运算 & 规则 :都为1时才为1 System.out.println( 7 & 9); /* * 7二进制 0111 * 9二进制 1001 * ----------- ...
- 取模、乘法和除法运算在CPU和GPU上的效率
问题: 将整数n分解为i和j,满足下面关系: n = j * idim + i 其中idim为常量. 以下为三种算法实现: 1) i = n % idim,j = (n - i) / id ...
- java中与运算,或运算,异或运算,取反运算
(&和|运算时候1当成true,0当做false) 一:& //与运算 & 规则 :都为1时才为1 System.out.println( 7 & 9 ...
- 【Java位运算】异或运算的使用
异或运算有个特性:两个相同的数做异或运算,结果为0. n ^ n = 0; 常用的方式是查找数组中只出现一次的数字. 例如:在一个数组中,只有一个数字出现了一次,其余数字都出现了两次. 求这个数字. ...
最新文章
- 让用VS2012/VS2013编写的程序在XP中顺利运行
- Tenda路由器设置
- 基于机器学习的捡球机器人设计与实现(探索)第5篇——训练并使用Haar分类器(2019-03-02)
- 【组原】广州大学计算机组成原理考试部分题+复习资料(2020-2021)
- 撩课-Python-每天5道面试题-第2天
- State(状态)--对象行为型模式
- 实训09.11:java重点内容介绍
- php中的解析范围符,如何合理使用php7范围解析操作符
- 一个好用的小工具 thefuck
- python之模块随笔记-os
- 自控matlab建模实例,控制系统建模与仿真:基于MATLAB/Simulink的分析与实现
- 用于登录的mysql语句_mysql常用语句
- 云流化像素流技术解决方案之虚拟仿真系统
- 车轱辘APP提交到各应用市场的心得~
- 大数据发展前景及发展战略分析
- linux下gbd调试基础
- No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instanc
- python 变量前怎么加r
- Epic Games CEO,《无尽之剑》创始人Tim Sweeney:下一代智能手机和平板电脑的游戏趋势
- 支撑百万并发的“零拷贝”技术,你了解吗?