原码、反码、补码知识详细讲解(超细致,建议收藏)(3)

简介: 原码、反码、补码知识详细讲解(超细致,建议收藏)(3)

同余的概念

两个整数a,b,若它们除以整数m所得的余数相等,则称a,b对于模m同余


记作 a ≡ b (mod m)


读作 a 与 b 关于模 m 同余。


举例说明:


4 mod 12 = 4


16 mod 12 = 4


28 mod 12 = 4


所以4, 16, 28关于模 12 同余.


负数取模

正数进行mod运算是很简单的. 但是负数呢?


下面是关于mod运算的数学定义:


微信图片_20220116145353.jpg


上面是截图, "取下界"符号找不到如何输入(word中粘贴过来后乱码). 下面是使用"L"和"J"替换上图的"取下界"符号:


x mod y = x - y L x / y J


上面公式的意思是:


x mod y等于 x 减去 y 乘上 x与y的商的下界.


以 -3 mod 2 举例:


-3 mod 2


= -3 - 2xL -3/2 J


= -3 - 2xL-1.5J


= -3 - 2x(-2)


= -3 + 4 = 1


所以:


(-2) mod 12 = 12-2=10


(-4) mod 12 = 12-4 = 8


(-5) mod 12 = 12 - 5 = 7


开始证明

再回到时钟的问题上:


回拨2小时 = 前拨10小时


回拨4小时 = 前拨8小时


回拨5小时= 前拨7小时


注意, 这里发现的规律!


结合上面学到的同余的概念.实际上:


(-2) mod 12 = 10


10 mod 12 = 10


-2与10是同余的.


(-4) mod 12 = 8


8 mod 12 = 8


-4与8是同余的.


距离成功越来越近了. 要实现用正数替代负数, 只需要运用同余数的两个定理:


反身性:


a ≡ a (mod m)


这个定理是很显而易见的.


线性运算定理:


如果a ≡ b (mod m),c ≡ d (mod m) 那么:


(1)a ± c ≡ b ± d (mod m)


(2)a * c ≡ b * d (mod m)


如果想看这个定理的证明, 请看:http://baike.baidu.com/view/79282.htm


所以:


7 ≡ 7 (mod 12)


(-2) ≡ 10 (mod 12)


7 -2 ≡ 7 + 10 (mod 12)


相关文章
|
7月前
|
存储 编译器 C语言
【原码、反码、补码】小白看完都呲大牙
【原码、反码、补码】小白看完都呲大牙
215 1
【原码、反码、补码】小白看完都呲大牙
|
7月前
原码、反码、补码的互相转换
原码、反码、补码的互相转换
171 0
|
2月前
深入解析计算机科学的基础:原码、反码与补码
深入解析计算机科学的基础:原码、反码与补码
|
6月前
|
存储
一分钟了解什么是原码-反码-补码
一分钟了解什么是原码-反码-补码
|
6月前
|
程序员
程序员必知:原码、反码、补码和移码详解
程序员必知:原码、反码、补码和移码详解
105 0
|
7月前
原码反码补码移码的介绍和计算
原码反码补码移码的介绍和计算
158 1
【软考学习2】数据表示——原码 反码 补码 移码
【软考学习2】数据表示——原码 反码 补码 移码
140 0
|
7月前
|
存储
原码,反码,补码以及计算
原码,反码,补码以及计算
84 0
数字逻辑基础:原码、反码、补码
数字逻辑基础:原码、反码、补码
187 0
|
存储
[软考]之原码、反码、补码和移码
[软考]之原码、反码、补码和移码
118 0