gpt4 book ai didi

c++ - 在数字的右边使用左移运算符

转载 作者:行者123 更新时间:2023-12-02 09:47:40 29 4
gpt4 key购买 nike

我对位运算符不是很熟悉,并且有这种用例:当我们在<<中使用左移位运算符C++时,数字将被移位,数字0将被放置在数字的右侧,我想放置1而不是零在右边。
我的意思是,如果我有一个数字00000000,并且使<< << 3,则结果必须是00000111而不是0!

最佳答案

一种简单的方法是将1左移要设置的位数,然后减去1

(1 << n) - 1
例如。
cout << (1 << 2) - 1 << '\n'; // prints 3
cout << (1 << 3) - 1 << '\n'; // prints 7
cout << (1 << 4) - 1 << '\n'; // prints 15
cout << (1 << 5) - 1 << '\n'; // prints 31
但请注意,这仅在 n小于整数的位数时才有效。否则,它是不确定的行为。

关于c++ - 在数字的右边使用左移运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64168193/

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