问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

二进制模二除法详解

创作时间:
作者:
@小白创作中心

二进制模二除法详解

引用
CSDN
1.
https://blog.csdn.net/qq_31856061/article/details/136566323

二进制模二除法是计算机科学和数字电路中一个重要的算法,主要用于循环冗余校验(CRC)等错误检测技术中。本文通过一个具体的例子,详细讲解了二进制模二除法的计算过程,帮助读者更好地理解和掌握这一算法。

例:1100100100 对 1011做模二除法

① 第一位商

  • 除数 1011 是一个四位二进制数,因此先拿出被除数的前四位(从高位开始取) 1100
  • 1100 就是本次的被除数,取其首位数 1 作为第一位商
  • 然后对 1100 和 1011 (当前位商 1 * 1011)做异或运算,得出结果 0111

② 第二位商

  • 将步骤 ① 的异或运算结果 0111 的首位数 0 划掉得到 111
  • 然后把被除数对应的第五位数 1 拉下来,就得到本次的被除数 1111
  • 取 1111 的首位 1 作为商的第二位
  • 然后对 1111 和 1011 (当前位商 1 * 1011)做异或运算,得出结果 0100

③ 第三位商

  • 将步骤 ② 的异或运算结果 0100 的首位数 0 划掉得到100
  • 然后把被除数对应的后一位数 0 拉下来,就得到本次的被除数 1000
  • 取 1000 的首位 1 作为商的后一位
  • 然后对 1000 和 1011 (当前位商 1 * 1011)做异或运算,得出结果 0011

④ 第四位商

  • 将步骤 ③ 的异或运算结果 0011的首位数 0 划掉得到011
  • 然后把被除数对应的后一位数 0 拉下来,就得到本次的被除数 0110
  • 取 0110 的首位 0 作为商的后一位
  • 然后对 0110 和 0000 (当前位商 0 * 1011)做异或运算,得出结果 0110

如此类推,最终得到结果:商 = 1110111,余数 = 101

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号