相关疑难解决方法(0)

按位运算等效于大于运算符

我正在研究一个函数,它基本上可以看到两个整数中的哪一个更大.传递的参数是232位整数.诀窍是允许的唯一运算符! ~ | & << >> ^(没有转换,除了signed int,*,/, - 等其他数据类型).

到目前为止,我的想法是^将两个二进制文件放在一起,以查看1它们不共享的值的所有位置.我想要做的就是取这个值并将1最左边的距离隔离开来.然后看看它们中哪一个具有该值.那个价值就会越大.(假设我们使用8位整数而不是32位).如果传递的两个值是0101101101101001 我用^它们得到的00100010.然后我想00100000用其他的话来做它01xxxxxx -> 01000000 然后&用第一个数字 !!结果并返回它.如果是1,则第一个#更大.

关于如何01xxxxxx -> 01000000或其他什么帮助的任何想法?

忘记注意:没有ifs,whiles,fors等......

c binary bit-manipulation

20
推荐指数
3
解决办法
3万
查看次数

标签 统计

binary ×1

bit-manipulation ×1

c ×1