首页
学习
活动
专区
圈层
工具
发布

【愚公系列】软考高级-架构设计师 005-校验码

如果数据中"1"的数量已经是偶数,校验位就设为0;如果"1"的数量是奇数,则校验位设为1,以确保包含校验位的总数据中"1"的数量为偶数。 奇校验:在奇校验中,数据加上校验位后,"1"的总数应该是奇数。...如果数据中"1"的数量已经是奇数,校验位就设为0;如果"1"的数量是偶数,则校验位设为1,以确保包含校验位的总数据中"1"的数量为奇数。...能够检测任何单个位的错误。 缺点: 无法检测偶数位的错误(例如,如果同时有两位发生变化)。 无法确定错误发生的位置,也就是说,它不能纠错。...换句话说,模2乘法就是判断两个数的乘积是奇数还是偶数。 在模2乘法中,如果两个数中有一个数是偶数,那么乘积一定是偶数;如果两个数都是奇数,那么乘积是奇数。...如果最终的余数为0,那么可以认为传输过程中没有误码;如果余数不为0,则表示传输过程中有误码。 步骤1: 表示信息和生成多项式 接收到的信息:101101001。

40510

Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断

System.out.println("和是:" + sum); // 打印和 }}输出输入一个数字:5输入另一个数字:6和是:11解释首先,导入 Scanner 类,用于读取用户输入。...注意事项此方法适用于任何长度和宽度的矩形。此方法可以计算任何类型数字的矩形面积。...;} else { System.out.println(number + " 是奇数。");}输出5 是奇数。解释首先,声明一个 int 类型的变量 number,并赋值为要判断的数字。...使用 number % 2 运算符计算 number 除以 2 的余数。如果余数为 0,则 number 是偶数,否则是奇数。使用 if-else 语句根据余数的值输出相应的判断结果。...如果最低位为 0,则 number 是偶数,否则是奇数。

33510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 奇偶校验码 | CRC 循环冗余码 )★

    ---- 奇偶校验码 特点 : 该编码方法 , 只能检查 奇数个 比特错误 , 如果有 偶数个比特错误 , 无法检查出来 , 检错率是 50\% ; 三、 奇偶校验码 示例 ---- 奇偶校验码...示例 : 传输 字符 ‘S’ 的 ASCII 码 1100101 , 使用 奇校验码 , 在 数据前 添加 1 位 冗余位 1 , 表明 1 的个数为奇数 , 上述数据的 1 的个数为...5 个 , 是奇数个 ; 奇数个错误 : 如果接受到的数据中 1 的个数是 偶数个 , 此时就能检测出数据错误 ; 偶数个错误 : 如果接收到的数据中 1 的个数为 奇数个 , 那么就会判断接收的数据是正确的...帧检验序列 是 1110 ; 最终发送的数据是 : 1101 0110 11 1110 接收端接收数据并校验 : ① 检验过程 : 接收端接收 上述 1101 0110 11 1110 数据..., 将上述数据 与 生成多项式 10011 相除 , 如果余数为 0 说明该数据帧没有差错 ; ② 结果判定 : 如果余数不为 0 , 说明数据帧错误 , 而且不知道哪里出现错误 , 丢弃该数据帧

    3.4K00

    CRC校验怎么算?

    10110101->101101011 偶校验 接收方收到数据后计算其奇偶性,如果不对,则说明数据传输中发生了错误。...奇偶校验优点是使用简单,缺点是检错率有限,只有奇数个数据位发生变化的错误能检测到,偶数个数据位变化的错误它检测不了。...校验的公式如下: 简单来说它的校验规则是:连校验码一起,由从右到左逐位乘以2的n次方取模11并求和,对11的余数必须为1。...+5+0+0+4=167; 3) 用加出来的和167除以11,余数是2; 4) 余数2对应校验码是X; 看完上述计算方法之后,大家可以用自己的身份证号码试试。...该校验算法据说可以: 1) 如果某一位填错了,则校验算法可以检测出来。 2) 如果身份证号的相邻2位填反了,则校验算法可以检测出来。

    3.9K20

    从零开始学习PYTHON3讲义(七)条件分支和哥德巴赫猜想

    当i的值是3或者5的时候,执行continue命令,这将跳过后面的显示i值部分,从循环一开始重新执行。 当i>=11的时候,break语句导致循环终止。...本程序中, i >= 11 和 i == 11功能是否一样? 哪个更好? 本例中,如果使用i==11,跟换用for循环模式,然后使用range(12)含义一样吗?...我们在程序中定义了一个函数来判断参数是奇数还是偶数。判断的原理,是使用整数运算中的求余数办法,求参数除以2之后,是否有余数。如果有余数,则参数肯定是奇数;如果没有余数,刚好除尽了,则参数当然是偶数。...这个主流程的大致工作应当是: 输入数字,判断数字是否合规,否则重新输入 假设输入的数字是n,我们用i变量循环从3到n-1 如果存在i和n-i两个数字都是质数的情况,则猜想成立 猜想成立把i和n-i都显示出来就好了...本程序中, i >= 11 和i == 11功能是否一样?哪个更好? 功能是一样的,但i>=11容错性更好。 本例中,如果换用i==11,跟for循环中使用range(12)含义一样吗?

    97420

    匿名函数、内置函数、面向过程编程

    cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。...以上版本可用,2.6 添加 start 参数。...,留下来的是什么就是什么(如果去掉引号后没有对应的数据类型就会报错,除非去掉引号后是一个已经声明过的变量名) chr/ord chr()参考ASCII码表将数字转成对应字符;ord()将字符转换成对应的数字...divmod 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。 hash 用于获取取一个对象(字符串或者数值等)的哈希值。...面向过程编程 面向过程是解决问题的一种思想,重在解决问题的步骤,也就是将编程流程化,这样,每一步的编程思路都会很清晰,它的优点是复杂的问题流程化,进而简单化,缺点是扩展性差。

    49620

    Python 取模运算符

    这个剩下的数字(余数)被称作模数。 例如,5除以3,等于1,模数为2。8除以4,等于2,模数为0。 一、Python 取模操作符 在 Python 中,取模操作符是百分号(%)。...二、例子 取模操作符一个最普通的用户场景就是去检查一个数字是否是奇数或者是偶数。如果一个数字除以2没有余数,那么是一个偶数。否则,如果余数为1,那么这个数字就是奇数。...num = 11 if (num % 2) == 0: print(num, "is even") else: print(num, "is odd") 如果运行上面的代码,11 % 2留下余数...1,并且else中的代码被执行: 11 is odd 这里是另外一个例子,通过取模操作符用来检查一个数字是否是一个素数。...如果你有任何疑问,请通过以下方式联系我们: 微信: 微信群: 加上面的微信,备注微信群 QQ: 3217680847 QQ 群: 82695646

    12K30

    Django自定义实现分页器

    1、分析和推导 1.1 当前页 1.2 起始位置和终止位置 1.3 添加按钮传递页码数 2、方法的封装 2.1 分页器类 2.2 视图函数 2.3 模板页面 前面的文章中分别介绍了drf框架中分页器的使用及...这里可以利用divmod方法来计算总数与每页个数的商和余数,余数不为0时,把页数加1 # 分页 book_list = models.Book.objects.all() # 计算出到底需要多少页 all_count...= book_list.count() page_count, more = divmod(all_count, per_page_num) # 计算总数%每页个数的商和余数,余数不为0时,把页数+...1 if more: # 有余数则总页数加一 page_count += 1 关于页码布局,在制作页码个数的时候一般情况下都是奇数个页码,这更符合对称美的标准 最后,在后端把页码计算逻辑写出来动态的传给前端...= self.all_pager + 1 # 总页码 > 11 else: # 当前页如果11/2个页码

    1.1K20

    Oracle 关于身份证校验规则详细说明(附有代码复制可执行)

    作为尾号的校验码,主要是为了校验计算机输入公民身份证号码的前17位数字是否正确,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用...从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 2、将这17位数字和系数相乘的结果相加。 3、用加出来和除以11,看余数是多少?...5、通过上面得知如果余数是2,身份证的最后一位号码就是罗马数字x。如果余数是10,就会在身份证的第18位数字上出现的是2。 例如:某男性的身份证号码 我们要看看这个身份证是不是合法的身份证。...45010119890620001X(仅测试使用) 首先我们得出前17位的乘积和是244,然后用244除以11得出的结果是17+2/11,也就是说其余数是2。...最后通过对应规则就可以知道余数2对应的是罗马数字X。可以判定这是一个合格的身份证号码。

    2.3K20

    LeetCode 第 35 场双周赛(2162839,前7.61%)

    所有奇数长度子数组的和 easy 题目链接 给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。 子数组 定义为原数组中的一个连续子序列。...请你返回 arr 中 所有奇数长度子数组的和 。...示例 3: 输入:arr = [10,11,12] 输出:66 提示: 1 <= arr.length <= 100 1 <= arr[i] <= 1000 ---- 解题: 先计算前缀和,再枚举子数组开始位置和奇数长度...] -> nums[0] + nums[1] = 3 + 5 = 8 总和为: 11 + 8 = 19,这个方案是所有排列中查询之和最大的结果。...示例 2: 输入:nums = [6,3,5,2], p = 9 输出:2 解释:我们无法移除任何一个元素使得和被 9 整除, 最优方案是移除子数组 [5,2] ,剩余元素为 [6,3],和为 9 。

    41320

    PAT--L1-046. 整除光棍

    题目链接:https://www.patest.cn/contests/gplt/L1-046 题目描述: 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111...传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。...然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。...但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。...输入格式: 输入在一行中给出一个不以5结尾的正奇数x(< 1000)。 输出格式: 在一行中输出相应的最小的s和n,其间以1个空格分隔。

    75520

    【愚公系列】软考中级-软件设计师 005-计算机系统知识(校验码)

    奇校验:在传输的数据中,如果数据中的1的个数为奇数,则奇校验位设置为0,否则设置为1。 偶校验:在传输的数据中,如果数据中的1的个数为偶数,则偶校验位设置为0,否则设置为1。...注意: 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码,但不能纠错。 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(也称漏检)。...换句话说,模2乘法就是判断两个数的乘积是奇数还是偶数。 在模2乘法中,如果两个数中有一个数是偶数,那么乘积一定是偶数;如果两个数都是奇数,那么乘积是奇数。...如果余数为0,则说明数据没有错误;如果余数不为0,则说明数据在传输过程中出现了错误。 CRC校验的生成多项式决定了校验码的长度和检错能力。常用的CRC算法有CRC-8、CRC-16、CRC-32等。...它通过添加额外的校验位,可以检测和纠正比特错误。海明码的基本原理是,在数据位的基础上添加校验位,使得每个校验位覆盖特定的数据位。

    54120

    5g的控制信道编码方式_5gnr上行支持的信道编码

    信道编码是:对二进制数据流进行相应的处理,使系统具有一定的检错、纠错和抗错(抗干扰)的能力,可极大地避免码流传送出错后的重传导致的性能的下降。...在数据比特发送时:在数据末位添加一个比特,确保所有传输的比特位中,1的个数是奇数或偶数。 在数据比特接收时:根据被传输的一组二进制比特的数位中“1”的个数是奇数或偶数来进行校验判断。...“冗余”是指:添加一定比特的冗余比特,这些冗余比特的数值,是相除之后的余数,余数比特序列与待传输的比特序列和特征多项式是相关的。...在数据接收时,先把接收到的比特进行分组, 对每个分组在进行偶校验 如果组内没有比特出错,则校验结果为0 如果组内有比特出错,则校验结果为1, 最后每个组的校验结果组合在一起,得到一个二进制序列,这个二进制序列的值就是出错的位置...任何一种编码方式,出错比特的检错和纠错的能力是有限制的,当连续出错的比特超过编码能力的时候,就无法实现检错或纠错。 这种情况下,就只能通过上层的控制逻辑,重新发送整个数据块来实现数据安全传输。

    1.9K30

    C语言—分支与循环(上)

    \n" ,num); else printf("%d是奇数\n",num); return 0; } 1.3 分支中包含多条语句 一个if只能控制一个语句,如果想控制多条语句,那就要加上{...1.5 悬空else问题 如果有多个if和else,else总和最接近的if匹配。...实际上else是和第二个if匹配的。所以第二个if…else… 是嵌套在第一个if中的。如果第一个if不成立。那么第二个if也就不会执行。 将代码改成下面的代码就会更容易理解。...exp2 ; exp3 计算逻辑:如果exp1 为真,exp2计算,计算结果是整个表达式的结果;如果exp1为假,则exp3计算,计算结果为整个表达式的结果。...("余数为1"); break; case 2 : printf("余数为2"); break; } return 0; } 如果 n%3 的值为1,则程序会转向

    16110

    【蓝桥杯Java_C组·从零开始卷】第五节(二)、BigDecimal的使用

    ,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5 ROUND_HALF_EVEN  //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数...,使用ROUND_HALF_UP,如果是偶数,使用ROUND_HALF_DOWN ROUND_HALF_UP  //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55...,如果与两个相邻数字的距离相等,则向下舍入。...解释:如果舍弃部分左边的数字为奇数,则舍入行为同 RoundingMode.HALF_UP;如果为偶数,则舍入行为同RoundingMode.HALF_DOWN。...1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。 如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ...

    1.3K20

    python快速入门【一】-----基础语法

    ” - 允许用户在单个基于浏览器的页面中交叉显示/执行数据,代码和说明文本,而不是在单独的文件中 基础类型 python中的主要基本数据类型是数字(整数和浮点数),布尔值和字符串 Hello World...= | 不等于 检查某些东西是否为True,如果是,则执行此操作。...True,则condition变为True. or 如果两个操作数中的任何一个为True,则condition变为True. not 用于反转逻辑(不是False变为True,而不是True变为False...如果整数是偶数,写一个if else组合将打印“你的整数是偶数”。否则,打印“你的整数是奇数”。 提示:任何可以精确地除以2的整数都是偶数(例如:2,4,6)。...任何不能精确地除以2的整数都是奇数(例如:1,3,5)。使用模运算符(%),它将数字左边的余数除以右边的数字。

    82020

    C++初等数论

    则6+15+21模3余数为0,3+9+15模3的余数为0。满足逐项相加性质。 逆运算性质:如果a+b≡c(mod m),则a=c-b(mod m)。 举例说明:如8+4和6模3的余数为0。...则6*15*21模3余数为0,3*9*15模3的余数为0。满足逐项相乘性质。 推广公式: 1 公约数性质 如果a≡b(mod m),存在a,b的公约数和模互质,则a,b分别除以公约数后的两个数也同余。...互质指如果两个整数只有公约数1,则称两数互质。 如27和21模2同余1,3是27和21的公约数,且和模2互质。则9和7模2同余1。 同余式的数和模乘上同一个整数同余式依然成立。...整数N被11除的余数等于N的奇数位数之和与偶数位数之和的差被11除的余数;(不够减的话先适当加11的倍数再减); ⑹ 整数N被7,11或13除的余数等于先将整数N从个位起从右往左每三位分一节,奇数节的数之和与偶数节的数之和的差被...7,11或13除的余数。

    49000

    身份证号码的那些事

    110105地址码 YYYYMMDD出生日期码 接着第十五和十六位是顺序码,具体指同一地址码所标识的区域范围内,对同年同月同日出生的(也就是前十四位完全相同)人员编订的顺序号;倒数第二位则是性别码,若男性则为奇数...,女性则为偶数;而最后一位则是校验码,根据一种校验规则得到的数字,如果按照校验规则得到数字为十,则用 X 来代替。...888X顺序及性别码校验码 校验规则 校验码(身份证最后一位)是根据前面十七位数字码,按照ISO7064:1983.MOD11-2 校验码计算出来的检验码。...2、将这17位数字和系数相乘的结果相加。 3、用加出来和除以11,看余数是多少? 4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。...其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。(即余数0对应1,余数1对应0,余数2对应X...)

    79310

    【GPLT】L1-046 整除光棍

    1组成的数字,比如1、11、111、1111等。...传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。...但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。...输入格式: 输入在一行中给出一个不以5结尾的正奇数x(<1000)。 输出格式: 在一行中输出相应的最小的s和n,其间以1个空格分隔。...输入样例: 31 输出样例: 3584229390681 15 解题思路: 先找到比x小的最大光棍数y,若y和x恰好可以整除,则直接输出最后的结果,否则将y%x的余数*10+1后继续循环。

    94510

    【JavaScript——函数编写】ISBN 转换与生成(蓝桥杯真题-5141)【合集】

    校验位计算方法:用 1-9 这 9 个数依次乘以前面的 9 位数,然后求它们的和除以 11 的余数。如果余数为 10,则校验码用 X 表示,否则,校验码用该余数表示。...ISBN-13 的校验码计算规则如下:用1分别乘书号的前12位中的奇数位, 用3乘以偶数位,然后求它们的和除以10的余数,最后用10减去这个余数,就得到了校验码。如果余数为0,则校验码为0。...根据加权和计算校验位,如果余数为 10,则校验位为 X,否则为余数对应的数字。 比较计算得到的校验位和字符串的最后一位是否相等。...ISBN10To13 函数: 在 ISBN - 10 的前 9 位数字前加上 978。 计算新字符串的加权和,奇数位乘以 1,偶数位乘以 3。...根据加权和计算校验位,如果余数为 0,则校验位为 0,否则为 10 - 余数。 将校验位添加到新字符串的末尾。 四、工作流程▶️ 用户输入:用户在文本框中输入 ISBN - 10 号码。

    15700
    领券