我正在尝试完成一个任务:“找出无符号整数数据类型中的位数,而不使用sizeof()函数。”
我的设计是将整数转换为位,然后计算它们。例如:10是1010
,5是101
将整数转换为位表示显示了类似于这样的内容:
do
{
Vec.push_back( x & 1 )
}
while ( x >>= 1 );
我不想简单地复制粘贴。当我使用 F-10 时,我可以看到 (x & 1)
在做什么,但我不知道它的名称或者它是如何工作的(比较某些东西?)。另外,我知道 >=
表示“大于或等于”,但是 x >>= 1
是什么意思?
注意:标记为重复的问题是关于 JavaScript 而非 C++。
&
,>>=
和其他操作符在互联网上搜索起来非常困难。对于已经见过这些操作符的人来说,这个问题很简单,但它们并不是自我解释的,当你第一次看到它们时可能会感到非常压抑。请问是否需要这段话的翻译? - Sergey Kalinichenko