如何在整数中找到最低有效位(LSB)的位置?c++; 我必须编写一个C++函数来交换int的n位和最低有效位。我找到了一些例子,并做了如下: v1 = v1 ^ ((((v1&1) ^ (v1>>n)&1) << LSBpos) | (((v1&1) ^ (v1>>n)&1) << n)); cout<<v1; v1=v1^(((v1&1)^(v1>>n)&1>n)&1)

如何在整数中找到最低有效位(LSB)的位置?c++; 我必须编写一个C++函数来交换int的n位和最低有效位。我找到了一些例子,并做了如下: v1 = v1 ^ ((((v1&1) ^ (v1>>n)&1) << LSBpos) | (((v1&1) ^ (v1>>n)&1) << n)); cout<<v1; v1=v1^(((v1&1)^(v1>>n)&1>n)&1),c++,int,position,bit,C++,Int,Position,Bit,您不需要知道LSB的位置。这是伟大的,因为它可以在多个地方 让我们找些帮助:: 检查一下 你没有要求这个,但我还是补充一下。 要检查位,请将数字n向右移动,然后按位将其删除: bit = (number >> n) & 1U; 将第n位更改为x 将n位设置为1或0,可在2的补码C++实现中实现: number ^= (-x ^ number) & (1UL << n); number^=(-x^number)和(1UL>n)和1U; //交换 x^=(

您不需要知道LSB的位置。这是伟大的,因为它可以在多个地方

让我们找些帮助::

检查一下 你没有要求这个,但我还是补充一下。 要检查位,请将数字n向右移动,然后按位将其删除:

bit = (number >> n) & 1U;
将第n位更改为x

将n位设置为1或0,可在2的补码C++实现中实现:

number ^= (-x ^ number) & (1UL << n);
number^=(-x^number)和(1UL>n)和1U;
//交换

x^=(-lsb_值)和(1UL您不需要知道lsb的位置。这很好,因为它可能位于多个位置

让我们找些帮助::

检查一下 你没有要求这个,但我还是补充一下。 要检查位,请将数字n向右移动,然后按位将其删除:

bit = (number >> n) & 1U;
将第n位更改为x

将n位设置为1或0,可在2的补码C++实现中实现:

number ^= (-x ^ number) & (1UL << n);
number^=(-x^number)和(1UL>n)和1U;
//交换

X^=(-LSBY值)和(1UL)最低有效位是C++中的位位数为零。你是指最小集合位吗?最低有效位是C++中的位数零。你是指最小集合位吗?