我要比較4個變量a,b,c,d
如果它們中的任何一個是-1
返回false
。 以及這可能是如何簡潔? 可能會做一些數學運算!我不喜歡爲這件簡單的事情浪費太多的角色或線條。用於比較4個號碼的簡明代碼
1
A
回答
10
通常情況下:
return a!=-1 && b!=-1 && c!=-1 && d!=-1;
由於~(-1) == 0
2的補機,並0
是假值,我們可以在上面降低
return ~a && ~b && ~c && ~d;
,或者不依靠2的補:
return a+1 && b+1 && c+1 && d+1;
但它在溢出時有未定義的行爲。
(。但請用正常的方式,您可能忘記了這個聰明的黑客在後面做年)
1
如果你的號碼可以是是非負或-1,那麼你可以使用以下命令:
return~(a|b|c|d);
(除去白色空間,所以它看起來更簡潔)
相關問題
- 1. 排序4號碼和幾個比較
- 2. 透明的比較代碼最小化
- 3. Hamcrest號碼比較使用
- 4. ULP比較代碼
- 5. 比較源代碼
- 6. 使用emf比較代碼?
- 7. 比較號碼:202.10.200和202.201.30
- 8. Java比較彩票號碼
- 9. Groovy號碼比較問題
- 10. 如何比較2號碼?
- 11. 比較代碼的批量
- 12. 重構這個長而簡單的代碼 - 字符串比較
- 13. 用於比較兩個xls文件的powershell代碼
- 14. 如何比較兩個NSNumber號碼?
- 15. VB.NET - 比較兩個字母的代碼
- 16. 哪個代碼的性能比較好?
- 17. 兩個代碼括號之間的比較應該這樣做
- 18. 簡單的代碼符號
- 19. 代碼比較兩次項
- 20. etag比較代碼示例
- 21. JavaScript和VBScript代碼比較
- 22. 指紋比較代碼
- 23. 代碼比較登錄名和密碼
- 24. 功能比較號碼不起作用
- 25. 用於比較密碼的sfValidator sha1
- 26. 比較兩個JavaScript代碼片段
- 27. 比較兩個HTML代碼塊
- 28. 比較兩個文件c代碼
- 29. JavaScript代碼比較2個日期
- 30. 簡化python代碼迭代比較if if
你要簡化'一== - 1 && b == - 1個&&ç== - 1 && d == - 1' ? – kennytm 2011-04-04 19:14:31
將4個變量'a,b,c,d'與什麼相比較? – Sadique 2011-04-04 19:16:08
erxtreamly對不起,在問題中有一個錯字。我的意思是他們中的任何一個**是** -1返回false – 2011-04-04 19:17:07