余数

2.5 整数和算法

2.5.1 引言   正如2.1节所说, 算法这一术语最初指的是用整数的十进制法表示的用法进行算术运算的过程。修改后能处理二进制表示的这些算法是计算机算术的基础。这些算法为理解算法这一概念及算法复杂度提供了很好的实例。因此本书将讨论这些算法。   除算术中常用的整数算法以外,还有许多涉及整数的算法,包括欧里几德算法,这是最有用的算法之一,很可能是数学中最古...

模二除

今天看CRC校验,看到了模二除,在这里把相关的“模二和”、“模二除”、“模二减”来总结一下: 1、模二和的运算法则是: 0+0=0 0 + 1 = 1    1+ 0 = 1     1+ 1 = 0 理解:两个二进制数相加不考虑进位,例如01 + 11 = 10,对于两个数的低位都是1,进行模二和为0, 但是没有进位,所以高位的0 加1 还是1,因为不考...

redis缓存策略

常用策略有“求留余数法”和“一致性HASH算法” redis存储的是key,value键值对 一、求留余数法 使用HASH表数据长度对HASHCODE求余数,余数作为索引,使用该余数,直接设置或访问缓存。 计算key的HashCode 缺点:增加服务器,由于除数不一样了,之前缓存的数据都没办法访问了,即不支持热部署【扩展】 二、一致性HASH算法 一致性...

进制转换的学习

     我们计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利于的途径,节省设备等优点,为了便于描述,又常用八、十六进制作为二进制缩写。一般计数都采用进位计数,有以下特点: (1)二进制:逢二进一        八进制:逢把进一        十六进制:逢十六进一 (2)数制转换        十进制:有十个基数:0 1...

Python-负数取余(mod)

负数取余遵循公式:         a与d是整数,d非零,那么余数r满足         a=q*d+r,q为整数,且0<=|r|<|d| 通常可能有两个r满足定义,r1,r2分别称为正余数、负余数,且r1=r2+d. 在计算机语言中,同号整数运算,所有语言都遵循尽量让商小的原则,因此7mod3结果为1没有异议。 在异号的整数运算中,C++和J...

海明码距离及检错纠错问题和CRC校验

海明校验码 两个长度相等的字符串的海明距离是在相同位置上不同的字符的个数,也就是将一个字符串替换成另一个字符串需要的替换的次数。海明距离与检错和纠错的关系: 1.海明距离为d+1的编码能检测出d位差错。 因为在距离为d+1的检验码中,只改变d位的值,不可能产生另一个合法码。如奇偶校验码,海明距离为2,能查出单个错。 2.海明距离为2d+1的编码,能纠正d位...