小编an4*_*n4s的帖子

C中的按位运算比较两个整数

我最近在我的一个课程中接受了测验.问题如下:

cmp在C中编写一个函数(调用),它接受两个整数(x和y)并返回:-1if x< y,0if x= y,1if x> y.写得cmp尽可能简洁.

我能想到的最简洁的功能是:

int cmp(int x, int y) {
    return ((x < y) ? (-1) : ((x == y) ? (0) : (1)));
}
Run Code Online (Sandbox Code Playgroud)

但我有一种感觉,我可以用一些操作来更简洁地做到这一点.也许是&和^?的结合?这已经困扰了我过去的几天,我想知道是否有其实IS更好的方式来做到这一点?

c bit-manipulation bitwise-operators

5
推荐指数
2
解决办法
3041
查看次数

标签 统计

bit-manipulation ×1

bitwise-operators ×1

c ×1