用包含变量x的一个表达式实现:x>0时结果为1,x=0结果为0,不要条件判断

用包含变量x的一个表达式实现:x>0时结果为1,x=0结果为0,不要条件判断。
可使用任意数学函数

?:当然是最容易想到的,但是这种回答没有任何帮助到你,肯定你也知道。

 不知道什么语言,VB有Sign函数,>0返回1,=0返回0,<0返回-1

C++可以用 (int)(x > 0),原理是x>0返回true,转换成int是1

 #include <iostream>
using namespace std;
int main()
{
    cout << (int)(6 > 0);
}

return (x>0);

x > 0 ? '1' : '0'

那就三目运算符呗;
x = x>0?1:0;

这个表达式叫三目运算符

x = (bool)x & x; 这个可以,如果非要不用判断的话

楼上的结果是bool型,用异或吧,与0异或,相同的就是0,不同的都是1也就是不等0的数

三目运算 就不算条件判断了? 我觉得得知道出这题目的人到底是想要考什么

?;运算符可以搞定,x > 0 ? 1 : 0

用三元运算符,就是一个缩小版的if-else

java中有三元一次表达式 想 x>0?1:0,不知道有没有用

三目运算符: x = (x=0?0:1)

根据题目, 假定 x >= 0;
那么: x = (UINT) (x / (x + 1) +0.5)

呃, 好吧, 上面不太严谨,
那么:
ULONG y = *(PULONG)&X; // x一位: UCHAR, 二位: USHORT, ....
x = (ULONG) (y / (y + 1.0) +0.5);

我觉得可以除以一个最大的数向上取整

用三元运算符?:可以解决问题

闲的没事干似的。。。

三元运算符,是我唯一能想到的。。。1楼答案很精辟!!

x与1进行“与”运算,x=0时结果为0,x非0时结果为1

谢谢你们解答,我自己解决了,可以y=x/(x+0.1)然后y向上取整。虽然c有三目运算符但是只有C能用,其它语言不通用

使用位操作
x>0的情况:x&1结果为1;
x=0的情况:x&1结果为0;
这样就可以不用判断了。
但是x<0时可能不会满足条件

使用三元运算符就行 x>1?1:0 就是这样