2011-08-17 9 views
5

부울 인수가 두 개 있으면^연산자는 배타적 논리합을 취합니다.groovy^연산자

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

두 개의 숫자 인수가 주어지면 어떤 일을하지만, 나는 무엇을 모릅니다. 처음에 나는 그것이 비트 이동의 일종,

(5^5) == 0 

그러나

(10^4) == 14 

그래서 그렇지 모듈 부문이기 때문에 모듈 부문이라고 생각?

그것은 비트 단위 배타적 OR : 그것은 자바에서하는 대부분의 다른 언어로

+0

그것은 자바로 비트 전용 또는 동일합니다 http://stackoverflow.com/questions/460542/operator-in-java –

답변

12

^는 같은 일을 (짧은 : 비트 XOR)

이 의미의 이진 표현의 모든 비트에 대한 두 숫자는 출력에서 ​​결과 비트가 bit_in_first_value^bit_in_second_value이됩니다.

+1

사실, 내 지식 강하게 C에서 파생 된 모든되는 언어의는이 규정 된 동작을 자신의 XOR 연산자. E.G. 'perl -le 'print (10^4)''가 인쇄됩니다. 14. Groovy와 Perl은 비슷한 생태 학적 특성을 가지고 있습니다. Groovy의 버전 (http://pleac.sourceforge.net/pleac_groovy/index.html))는 * Perl Cookbook *의 번역본이 Sourceforge의 [PLEAC - 프로그래밍 언어 예제 Alike Cookbook] (http://pleac.sourceforge.net/) 저장소에서 완료된 수십 개의 언어 중 첫 번째 언어였습니다. OCaml이 두 번째였습니다. Python은 85 %이고 Ruby는 65 %입니다. 그루비는 쉽고 재미 있습니다. – tchrist