查找给定范围内固定位数的固定设置的子掩码,最大化(p&submask)

问题描述 投票:0回答:1

我正在寻找用于找到给定掩码m的子掩码s的算法,其中s应该小于给定r并具有精确的 x设置位。找到的s应该最大化(p&s)。

Input:整数m,r,x,p

输出:整数s,例如:

  • sm的子掩码,即s&m == s
  • s≤r
  • s恰好具有x设置位
  • p&s已最大化

示例:

输入:

  • m = 0b11011

  • r = 0b10100

  • x = 3

    ] >>
  • p

  • = 0b01001

    输出:

0b01011

符合前三个条件的唯一值是0b10011和0b1011。由于0b10011&0b01001 <0b01011&0b01001,所需的输出为0b01011。

输入约束:
  • m

≤10 10
  • r
  • ≤10 10

    所以任何o(n)方法都不会有效。什么是有效的算法?

    我正在寻找一种算法,用于找到给定掩码m的子掩码s,其中s应当小于给定r并具有正好x个设置位。找到的s应该最大化(p&s)。输入:整数m,...

    algorithm c++14 bit-manipulation bitmask
    1个回答
    0
    投票

    从表述中有一些显而易见的事情。

    © www.soinside.com 2019 - 2024. All rights reserved.