<分区>
这个问题不是 Count the number of set bits in a 32-bit integer 的重复。请参阅下面 Daniel S. 的评论。
--
假设有一个变量 int x;
。它的大小是 4 个字节,即 32 位。
然后我给这个变量赋值,x = 4567
(二进制 10001 11010111),所以在内存中它看起来像这样:
00000000 00000000 00010001 11010111
有没有办法得到重要的位的长度。在我的示例中,位的长度为 13(我将它们标记为粗体)。
如果我使用 sizeof(x)
,它返回 4,即 4 个字节,这是整个 int
的大小。如何获得表示没有前导 0
的整数所需的最少位数?