作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有一种方法可以轻松地计算出具有特定数量的设置位的所有数字的序列?
例如我想将所有 2 位数字设置为最多 4 位:
3: has 2 bits set to true
5: ,,
6: ,,
9: ,,
10: ,,
12: ,,
有没有一种方法可以在不手动计算位数的情况下确定这些数字?
编辑:数字的顺序并不真正相关。我确实想知道获取所有这些的最快方法,尽管对于特定的位数集和最大位数。 (我不需要可以确定此序列中第 n 个数字的方法)
编辑2:我想要的原因是能够像这里完成的那样获得列表中的元素组合:All Possible Combinations of a list of Values .该解决方案将提供所有组合,而我只需要恰好具有 8 个唯一值的组合。
最佳答案
是的,在 n
处生成所有 k
集合位的组合有一些位技巧。
using System;
public class Test
{
public static void Main()
{
int k = 2;
int n = 4;
int v = (1 << k) - 1;
int finish = v << (n - k);
Console.WriteLine(v);
while (v != finish) {
int t = (v | (v - 1)) + 1;
v = t | ((((t & -t) / (v & -v)) >> 1) - 1);
Console.WriteLine(v);
}
}
}
关于c# - 我想计算所有二进制数直到 x 位和 y 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67588756/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!