一.取模运算法则(百度百科)

定义

给定一个正整数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维异或的值为真当且仅当其中值为真的运算元有奇数个。
异或也可以被表示为:

异或还可以看作是逻辑等价关系的非运算。

取模运算法则,异或运算法则相关推荐

  1. Java中「与运算,或运算,异或运算,取反运算。」

    Java中「与运算,或运算,异或运算,取反运算.」 文章目录 Java中「与运算,或运算,异或运算,取反运算.」 Java中的「与运算(AND) & 」 规则 :都为1时才为1,否则为0 Ja ...

  2. 数学运算符 +(加)、-(减)、(乘)、(除)、%(取余;取模)、(整除)、(幂运算)及分支结构

    数学运算符: +(加).-(减).*(乘)./(除).%(取余;取模).//(整除).**(幂运算) 1. +.-.*./ python的加减乘除和小学数学中的加减乘除的功能一样 print(3 + ...

  3. 什么是异或_异或运算及异或运算的作用

    什么是异或_异或运算及异或运算的作用 异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算. 异或的数学符号为"⊕",计算机符号为"xor ...

  4. java中的或运算_java中的(或运算,异或运算,与运算)

    java中或运算.异或运算.与运算的使用实例和解释如下: public class Test {    public static void main(String[] args) { // 1.左移 ...

  5. Java 取余 (remain),取模 (mod) 的 区别和运算

    范围区别:取模主要是用于计算机术语中.取余则更多是数学概念. 主要的区别在于对负整数进行除法运算时操作不同 那么具体是怎样的不同? 首先需要知道Java中如何取模: Java中用符号%对数字进行取模, ...

  6. java或异运算_java中与运算,或运算,异或运算,取反运算

    //与运算 &  规则 :都为1时才为1 System.out.println( 7 & 9); /* *  7二进制 0111 *  9二进制 1001 * ----------- ...

  7. 取模、乘法和除法运算在CPU和GPU上的效率

    问题: 将整数n分解为i和j,满足下面关系: n  =  j * idim + i 其中idim为常量. 以下为三种算法实现:     1) i = n % idim,j = (n - i) / id ...

  8. java中与运算,或运算,异或运算,取反运算

    (&和|运算时候1当成true,0当做false) 一:& //与运算 &  规则 :都为1时才为1         System.out.println( 7 & 9 ...

  9. 【Java位运算】异或运算的使用

    异或运算有个特性:两个相同的数做异或运算,结果为0. n ^ n = 0; 常用的方式是查找数组中只出现一次的数字. 例如:在一个数组中,只有一个数字出现了一次,其余数字都出现了两次. 求这个数字. ...

最新文章

  1. 让用VS2012/VS2013编写的程序在XP中顺利运行
  2. Tenda路由器设置
  3. 基于机器学习的捡球机器人设计与实现(探索)第5篇——训练并使用Haar分类器(2019-03-02)
  4. 【组原】广州大学计算机组成原理考试部分题+复习资料(2020-2021)
  5. 撩课-Python-每天5道面试题-第2天
  6. State(状态)--对象行为型模式
  7. 实训09.11:java重点内容介绍
  8. php中的解析范围符,如何合理使用php7范围解析操作符
  9. 一个好用的小工具 thefuck
  10. python之模块随笔记-os
  11. 自控matlab建模实例,控制系统建模与仿真:基于MATLAB/Simulink的分析与实现
  12. 用于登录的mysql语句_mysql常用语句
  13. 云流化像素流技术解决方案之虚拟仿真系统
  14. 车轱辘APP提交到各应用市场的心得~
  15. 大数据发展前景及发展战略分析
  16. linux下gbd调试基础
  17. No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instanc
  18. python 变量前怎么加r
  19. Epic Games CEO,《无尽之剑》创始人Tim Sweeney:下一代智能手机和平板电脑的游戏趋势
  20. 支撑百万并发的“零拷贝”技术,你了解吗?

热门文章

  1. 2019 CCPC Wannafly Camp Day 1
  2. matlab的工具箱有什么意义,MATLAB工具箱应用
  3. 电子行业应如何实施数字工厂管理系统
  4. 亚马逊跨境电商无货源模式,圆了你跨境的创业梦!
  5. 媒体通告:Algorand基金会宣布首场拍卖日期
  6. 基于时间的反向传播算法BPTT(Backpropagation through time)
  7. ojdbc 6 打包问题
  8. 彻底搞懂Java普通类以及集合List浅克隆和深克隆
  9. TSPL标签打印指令的使用
  10. 使用Excel自动生成sql语句