<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I disagree. The binary operators have properties that are comparable to arithmetic operators, and their precedence is easy to define as such. &amp; has multiplication-like properties (0*0=0, 0*1=0, 1*0=0, 1*1=1); | has addition-like properties (0+0=0, 0+1=1, 1+0=1, 1+1=2); ^ has subtraction-like properties (0-0=0, 0-1=-1, 1-0=1, 1-1=0), and their precedences are set accordingly (&amp; is multiplicative, | and ^ are additive).<div class=""><div class=""><div class=""><br class=""></div><div class="">The same applies to &amp;&amp; and ||. Bit shifts are exponentiative.</div><div class=""><br class=""></div><div class="">Binary operators get especially confusing in some languages because their precedence is lower than comparison operators. For instance, in C, `a &amp; b == c` gets parsed as `a &amp; (b == c)`. In Swift, the precedence of binary operators is above that of comparison operators, so we don't have that problem.</div><div class=""><div class=""><div class="">
<br class="Apple-interchange-newline"><span style="color: rgb(0, 0, 0); font-family: 'Lucida Grande'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none;" class="">Félix</span>
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">Le 1 août 2016 à 20:48:21, Rob Mayoff via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; a écrit :</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class=""><blockquote type="cite" class="">1 | 2 ^ 3 &nbsp;&nbsp;// or this?<br class=""></blockquote><br class=""><br class="">No. Both of those are bitwise operations. They are often used together. They<br class="">have a refined relative precedence in Swift that makes sense.<br class=""></blockquote><br class="">I have no idea what the relative precedence of those operators is in<br class="">Swift, C, or any other language, and thinking about it now, no<br class="">relative precedence seems sensible or obvious to me. Those operators<br class="">(and bitwise-&amp;) are excellent examples of operators that should<br class="">require parentheses.<br class="">_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></div></blockquote></div><br class=""></div></div></div></div></body></html>