首页 > 编程语言 >高效的二进制取模算法

高效的二进制取模算法

时间:2023-06-15 09:13:26浏览次数:35  
标签:右移 取模 二进制 算法 101 0x1101

限制必须是 长度必须是2的指数

  • 直接取指数的低位长度算法

演示

  • 长度为8
    • 0b000(0)
    • 0b001(1)
    • 0b010(2)
    • 0b011(3)
    • 0b100(4)
    • 0b101(5)
    • 0b110(6)
    • 0b11(7)
  • 13 二进制 0x1101
  • 13 mod 8 = 5
  • 5的二进制 101
  • 2^3 =8
  • 直接取 0x1101 后三位 101

使用场景

  • 布谷鸟过滤器

还有一种就是对某个除以2 直接 右移一位

  • 10 = 2^3 + 2^1 二进制 1010
  • 将其右移一位,得到二进制数 101,等价于将 10 除以 2

标签:右移,取模,二进制,算法,101,0x1101
From: https://www.cnblogs.com/guanchaoguo/p/17481868.html

相关文章

  • 算法题总结-最长回文序列
    原题https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1?tpId=37&tqId=21255&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3Fdifficulty%3D3%26page%3D1%26pageSize%3D50%26search%3D%26tpId%3D37%26type%3D37&am......
  • 算法学习day57动态规划part17-516、647
    packageLeetCode.DPpart17;/***516.最长回文子序列*给你一个字符串s,找出其中最长的回文子序列,并返回该序列的长度。*子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。**/publicclassLongestPalindromicSubsequence_51......
  • 算法学习day55动态规划part15-115、392
    packageLeetCode.DPpart15;publicclassDistinctSubsequences_115{publicintnumDistinct(Strings,Stringt){int[][]dp=newint[s.length()+1][t.length()+1];for(inti=0;i<s.length()+1;i++){dp[i][0]=......
  • 算法学习day56动态规划part16-583、72
    packageLeetCode.DPpart16;/***583.两个字符串的删除操作*给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数。*每步可以删除任意一个字符串中的一个字符。**/publicclassDeleteOperationforTwoStrings_583{publicintminDist......
  • 算法题总结-完全背包问题
    原题现有n种砝码,重量互不相等,分别为m1,m2,m3…mn;每种砝码对应的数量为x1,x2,x3...xn。现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种不同的重量。输入描述对于每组测试数据:第一行:n---砝码的种数(范围[1,10])第二行:m1m2m3...mn---每种砝码的重量(范......
  • m基于MPC模型预测控制算法的永磁直线同步电机控制系统simulink仿真,MPC分别使用工具箱
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要MPC(ModelPredictiveControl)模型预测控制算法是一种先进的控制算法,能够有效地解决非线性、多变量、约束条件等复杂系统的控制问题。永磁直线同步电机是一种高性能、高效率的电机,广泛应用于机器人、医疗设备、工业......
  • m基于MPC模型预测控制算法的永磁直线同步电机控制系统simulink仿真,MPC分别使用工具箱
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要      MPC(ModelPredictiveControl)模型预测控制算法是一种先进的控制算法,能够有效地解决非线性、多变量、约束条件等复杂系统的控制问题。永磁直线同步电机是一种高性能、高效率的电机,广泛应用于机......
  • 哈希搜索算法及C语言实现
    一、哈希搜索算法原理哈希搜索,也叫散列查找,是一种通过哈希表(散列表)实现快速查找目标元素的算法。哈希搜索算法通常适用于需要快速查找一组数据中是否存在某个元素的场景,其时间复杂度最高为O(1),而平均情况下的时间复杂度通常相当接近O(1),因此在实际应用中具有很高的效率和性能。哈......
  • 万能欧几里得算法
    从这篇博客学的:link。解决这样的一类问题:有一条直线\(y=\frac{Px+B}{Q}\),其中\(x\in(0,L],\midB\mid<Q\),当直线穿过一条形如\(y=h(h\in\mathbf{Z})\)的直线的时候进行\(U\)操作,穿过一条形如\(x=k(k\in\mathbf{Z})\)的直线进行\(R\)操作,如果经过了一个整点就进......
  • 「学习笔记」Garsia-Wachs 算法
    前言本文的资料和图片均来自\(\texttt{OI-Wiki}\)。引入题目描述在一个操场上摆放着一排\(N\)堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的\(2\)堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将\(N\)堆石子合......