我目前正在创建一个二进制计算器,它允许正二进制输入和负二进制输入。关于我的问题,我有以下代码:
if (firstvalue[0] == "-" and not secondvalue[0] == "-") or (secondvalue[0] == "-" and not firstvalue[0] == "-"):
invertedbinary.append("-")
很明显,如果其中一个数字为负数但不是两个都为负数,则最终字符串将带有负号。否则,两者都为正,字符串上不会有负号。
我只是想知道是否有更简洁的方法来做到这一点?我尝试使用 ^ 但我猜它只是一个按位运算符。
if firstvalue[0] == "-"^ secondvalue[0] == "-":
我也试过 xor 以防万一,但显然运气不好。关于更简洁的方法有什么建议吗?
请您参考如下方法:
如果使用括号,
^ 将正常工作:
if (firstvalue[0] == "-") ^ (secondvalue[0] == "-"):
您也可以使用 != 代替 ^。它的工作方式与此处完全相同,但可能更清晰一些。
