C/C++/비트/쉬프트2012. 6. 1. 15:55

두 정수형 변수의 값을 서로 교환하기 위해서


보통은 추가적인 메모리를 만들어서 사용한다.


그 예는 다음과 같다.


int a = 3, b = 10;


int temp  = a;

a = b;

b = temp;



하지만, xor 연산을 사용하면 추가적인 메모리 없이 a와 b, 두 값을 교환할 수 있다.


길게 끌거 없이 그 예를 보자.


int a = 3, b = 10;

// a = 3, b = 10


a = a ^ b;

b = a ^ b;

a = a ^ b;

// a = 10, b = 3



세번의 xor연산을 통해서 두 값을 교환할 수 있다.


이 원리를 간단히 설명하면


두 변수의 xor 연산값과 두 변수중 한 변수의 값을 알고 있다면

두 값을 xor 연산하여 나머지 변수의 값을 알 수 있다.


이다.


결론


두 변수의 메모리 교환은 세번의 xor연산으로 가능하다.

Posted by 투명테잎

인터넷에 연결 되어있는지 확인하는 방법..


출처 : http://blog.naver.com/yonga?Redirect=Log&logNo=150004198475


다음 IsConnectedToInternet() 함수를 사용하면 된다.


true를 리턴하면 인터넷에 연결이 되있는것이고

false를 리턴하면 인터넷에 연결이 되어있지 않는 상태이다.



[System.Runtime.InteropServices.DllImportAttribute("wininet.dll")]
private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);

public static bool IsConnectedToInternet()
{
    int Desc;
    return InternetGetConnectedState(out Desc, 0);
}


Posted by 투명테잎

주제 : C#으로 구현하는 A Star Algorithm

개발 환경 : Visual Studio 2010

사용 언어 : C#



드디어 모든 기능을 구현하였습니다.


100퍼센트 똑같게는 구현하지 않았지만


새로운 기능을 추가하는 것으로 퉁치기로 하였습니다.


사용법은 프로그램을 실행한 후, 스페이스 바를 누르면 알 수 있습니다.



실행화면

제발 고화질로 올라가라..







프로그램

실행하시려면 .NET FrameWork 4.0 이 깔려있어야합니다!





프로젝트파일


Posted by 투명테잎