gpt4 book ai didi

c - 如何使用按位运算符表示否定,C

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:39 24 4
gpt4 key购买 nike

假设您有 2 个数字:

int x = 1;
int y = 2;

使用位运算符,我如何表示 x-y

最佳答案

比较两个数的位时AB存在三种可能性。以下假定无符号数。

  1. A == B : 所有的位都是一样的
  2. A > B : 两个数字之间不同的最高有效位设置在 A 中而不是 B
  3. A < B : 两个数字之间不同的最高有效位设置在 B 中而不是 A

代码可能如下所示

int getDifType(uint32_t A, uint32_t B)
{
uint32_t bitMask = 0x8000000;
// From MSB to LSB
for (bitMask = 0x80000000; 0 != bitMask; bitMask >>= 1)
{
if (A & bitMask != B & bitMask)
return (A & bitMask) - (B & bitMask);
}
// No difference found
return 0;
}

关于c - 如何使用按位运算符表示否定,C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703375/

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