而无需使用如果还是

而无需使用如果还是

本文介绍了如何找到一个数是正数,负数或零,而无需使用如果还是?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要实现的迹象,并在微处理器零标志设置。所以,我需要写一个函数来找到数是正数,负数或零,而无需使用如果循环也只是布尔和位运算符允许即可。我做了以下。但如何我实现它条件?

I want to implement the sign and zero flag setting in microprocessor. So I need to write a function to find whether the number is positive, negative or zero without using if or for loops and also only Boolean and bitwise operators are allowed. I did the following. But how to I implement it for zero condition ?

int status (int x) {
    int sign = (x >> 31);
    return sign;
}

有什么建议?

推荐答案

下面将返回 1 为负值, 0 为零, 1 X

The following will return -1 for negative values, 0 for zero, 1 for positive values of x.

int status (int x) {
  int sign = (x > 0) - (x < 0);
  return sign;
}

这篇关于如何找到一个数是正数,负数或零,而无需使用如果还是?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 02:44