2011-08-17 28 views
5

İki boolean bağımsız değişkeni verildiğinde,^işleci münhasır olarak gerçekleştirir veya ör. Iki sayısal argüman verildiğindegroovy^operator

true^true == false 
true^false == true 
false^true == true 
false^false == false 

, bir şeyler yapar, ama ben hiçbir fikrim yok. Önce bunun bit kayması çeşit,

(5^5) == 0 

Ancak

(10^4) == 14 

Demek ki modüler bölme çünkü modüler bölme olduğunu düşünmüş?

Bir bit şeklinde özel VEYA: bu Java yapar ve diğer birçok dil olarak

+0

Bu Java gibi bit düzeyinde xor, aynı şey http://stackoverflow.com/questions/460542/operator-in-java –

cevap

12

^ aynı şeyi yapar (kısa: bitsel XOR)

Bu demektir ki ikili gösterimi her bit için iki sayı çıktıdaki sonuçtaki bit bit_in_first_value^bit_in_second_value olacaktır.

+1

Nitekim bildiğim kadarıyla kuvvetle C türetilen tüm langauges bu reçete davranışa sahip onların XOR operatörleri. ÖRNEĞİN. 'perl -le 'print (10^4)' 'baskılar 14. Groovy ve Perl benzer bir ekolojik güzelliğe sahiptir, o kadar ki [Groovy'nin versiyonu] (http://pleac.sourceforge.net/pleac_groovy/index.html), * Perl Yemek Kitabı * 'nı çeviren düzinelerce dilden birincisi, Sourceforge'daki [PLEAC - Yemek Tarifleri Dilbilgisi Örnek Programları] (http://pleac.sourceforge.net/) deposunda tamamlanmıştır. OCaml ikinci oldu. Python% 85 ve Ruby sadece% 65 seviyesindedir. Groovy kolay ve eğlenceli. – tchrist