我需要帮助编写一个方法,该方法接受一个int num,并使用Java中的位运算符将num的2的补码作为int返回。public int twosComplement(int num) {我可以使用字符串和"Integer.toBinaryString“和"Integer.parseInt”编写方法,但不能使用按位运算符,因为当我对负数使用"Integer.toBinaryString“时,结果字符串对于"Integer.parseInt”来说太长了,并且我得到了一个异常:
Ex
可能重复:
int bsub(int x, int y)
我知道我需要把y转换成2的补码,才能把它变成负数,然后把它加到x中,但是我只知道如何用补码~运算符和加法1,但是我不能用+运算符。提供了badd函数,如果我能够知道如何使y变成负数,我就可以在bsub中实现它。badd的代码如下所示。提前谢谢你的建议。
根据我所读到的内容,Java中的":“相当于if / then / else语句。在我的代码中,我想用它应该表示的实际代码替换这个运算符,但我却想出了一个愚蠢的想法。new int[]{x,y,z};for (int n : array) if (n<0) { }基本上,我尝试读取数组并列出负数组的数量,但我希望尝试不使用this运算符或for语句。