gpt4 book ai didi

c++ - 用于位计数的元程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:45 27 4
gpt4 key购买 nike

我需要 C++ 中的位计数器实用程序,它能够计算数字常量值中最高有效位的数量,并将该数字显示为编译时常量。

只是为了让一切都清楚 - 一组数值的最高有效位的数量:

 255 => 8   (11111111b)
7 => 3 (111b)
1024 => 11 (10000000000b)
26 => 5 (11010b)

我是模板编程的新手,但我认为就是这样。

请提供一些代码示例,我们将不胜感激。

最佳答案

编辑:我完全误读了你想要的内容。

这是你想要的:

0的有效位数为0。

x中的有效位数是x/2中的有效位数加1。

所以你得到:

template <unsigned int x>
struct SignificantBits {
static const unsigned int n = SignificantBits<x/2>::n + 1;
};

template <>
struct SignificantBits<0> {
static const unsigned int n = 0;
};

关于c++ - 用于位计数的元程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com