2014-09-13 4 views
3

은 내가 전에 보지 못했다과 "~"특별한 아무것도 않는 경우까지 나는 그것의 법적 이름을 알고 ~ FOOBAR 사람이 알고 있나요"~ 방법"은 무엇을 의미합니까?

public class SomeClass 
{ 
     int DEFAULT_INT = 5; 

     public static int SomeMethod() 
     { 
      return ~FooBar(DEFAULT_INT); 
     } 

     public static int SomeMethod(int i) 
     { 
      return ~FooBar(i); 
     } 

     public static int FooBar(i) 
     { 
      ...... 
     } 
} 

를 읽고 오늘 몇 가지 코드를 건너 왔어요?

죄송합니다. 원래 게시물의 코드를 수정했습니다. FooBar 메서드를 읽지 못했습니다.

+0

당신에게? 왜냐하면 소멸자를 구현할 수 있기 때문입니다. http://msdn.microsoft.com/en-us/library/66x5fx1b(v=vs.110).aspx – Brian

답변

8

그래, bitwise complement 연산자입니다.

+0

비트 보완 연산이 호출자에게 반환되기 전에 반환 int에 대해 수행되는 중 ??? 그리고 예 방법은 정적입니다 – Buckrogerz

+0

@ Buckrogerz 나는 그렇게 믿습니다. – Dmitry

+4

'~'는이 문맥에서 사용되는 비트 보수 연산자입니다'public static int ~ FooBar() {...}'? – hatchet

2

위에서 말했듯이 각 비트를 뒤집는 비트 연산자입니다.

FooBar 메서드는 int를 반환합니다. 그 뒤에는 32 비트가 반환되어 다음과 같이 표시됩니다.

1110000001100 ..... // 32 자.
0001111110011가 반환 INT에 ~ 수행 .....

또 다른 예 : 그 정적 메서드 확인

~(101) = 010 
~(000) = 111 
+0

+1하지만 "32 바이트를 반환합니다"Bytes? 정말? – Dmitry

+0

나는 비트를 의미했고 실수로 "바이트"를 썼음에도 쉽게 이해할 수있었습니다. –

관련 문제