比较并确定特定位置的位置和价值并打印



我被困在解决问题上,如下所示

假设我有两个变量a = 10010101 [正确的位值]&B = 11001010 [需要将其与A]

进行比较的错误位值

上面的两个变量为八位,我需要比较从最重要位到最后位的每个位置的值。我需要的是打印它们不完全相同的位置,以及该位置的正确/错误值。

示例:对于b,当我们将a。

的位置值与位置第二位比较时,第二个位置值应为" 0"。

我尝试使用XOR操作,但是在这种情况下,我在该位置没有找到正确的值。另外,我想让您知道一个位值是固定的,位B值动态形成设备。

感谢您的宝贵时间。

只是比较位,如果它们不同,请打印索引,并从a。

对应位
for(i=0 to sizeof(A))
{
    tempA = A & (1 << i); //Get ith bit of A
    tempB = B & (1 << i); //Get ith bit of B
    if(tempA != tempB ) //Check if they are same.
        printf(i, tempA); //If they are different, print position and correct value.
}

如果我让你正确,那么您的逻辑应该是这样:

ForEach elem in A 
    C[elem.index] = A XOR B
ForEach elem in C
    if elem == 1 
        print elem.index

相关内容

  • 没有找到相关文章

最新更新