相关疑难解决方法(0)

执行__builtin_clz

GCC(4.6+)的实施是什么__builtin_clz?它是否符合英特尔的某些CPU指令x86_64 (AVX)

c cpu gcc simd

21
推荐指数
2
解决办法
2万
查看次数

表示给定“int”的最小位数

在 C++ 中,找出存储给定 int 需要多少位的最快方法是什么?

我可以尝试将数字除以 2 多次,但除法很慢。有什么快捷的方法吗?

编辑:

非常感谢各位的回答。当我说int我的帖子时,我的意思是任何 4 字节的整数。例如,如果我存储 30665,我希望得到 15 位的结果。

c++ algorithm bit-manipulation logarithm

7
推荐指数
2
解决办法
3685
查看次数

C++如何获取变量的位长?

假设有一个变量int x.它的大小是4个字节,即32位.

然后我为这个var赋值,x = 4567(二进制10001 11010111); 所以现在,在内存中它应该是这样的:

00000000 00000000 000 10001 11010111

有没有办法得到重要的位长度.在我的例子中,比特长度将是13(我用粗体标记它们).如果我使用sizeof(x)它返回4个字节,其大小为int.如何只获得代表数字的位大小(之后没有不必要的零)?

c++ bits

4
推荐指数
2
解决办法
5601
查看次数

标签 统计

c++ ×2

algorithm ×1

bit-manipulation ×1

bits ×1

c ×1

cpu ×1

gcc ×1

logarithm ×1

simd ×1