반응형

동영상 강의 28

^mask를 이용한 암호화, & mask를 이용한 이진수 출력 [언제나 C언어]

^ 연산을 이용한 암호화 및 복호화 #include int main() { int pd = 0x12345678; int key = 0x2345873a; int sec = pd ^ key; int data = sec ^ key; printf("평문:%#X\n", pd); printf("키:%#X\n", key); printf("암호문:%#X\n", sec); printf("복호문:%#X\n", data); return 0; } 실행 결과 평문:0x12345678 키:0x2345873A 암호문:0x3171D142 복호문:0x12345678 & mask를 이용한 이진수 출력 #include int main() { int num; printf("정수:"); scanf_s("%d", &num); printf("%..

비트 연산 & | ^ ~ [언제나 C언어]

비트 연산 /* https://ehpub.co.kr 언제나 C언어 비트 연산 */ #include int main() { int i = 0x11FF0000; printf("6&5:%d\n", 6 & 5); printf("6|5:%d\n", 6 | 5); printf("6^5:%d\n", 6 ^ 5); printf("%#X\n", ~i); return 0; } 실행 결과 6&5:4 6|5:7 6^5:3 0xEE00FFFF and 마스크 /* https://ehpub.co.kr 언제나 C언어 비트 and mask */ #include int main() { int a = 0x12345678; int b = 0xFFFF0000; int c = 0x0000FFFF; printf("%#x\n", a & b); p..

디지털 시계 만들기

디지털 시계 만들기 동영상 강의 C언어 학습할 때 콘솔 응용만 매 번 만들어서 지루할 수 있죠. 특별히 무엇인가를 전달하기 위한 목적보다 지루함을 덜기 위해 "그냥" 만드는 디지털 시계 만들기 실습입니다. 현재 초 단위 시간을 얻어오는 time(0) 함수와 초 단위 시간을 지역 시각으로 변환해 주는 localtime_s 함수를 이용합니다. 콘솔 응용에서 커서 위치를 이동시키는 SetConsoleCursorPosition 함수는 Win32 API 함수를 이용합니다. 키보드를 눌렀는지 체크하는 부분은 _kbhit 함수를 이용합니다. #include #include #include #include char* digits[10][5][4] =//0~9까지 출력할 정보 { { { "■","■","■","■" },..

실수 형식 double, float 표현과 출력 [언제나 C언어]

실수 형식 메모리 크기 확인 #include //표준 입출력 헤더 int main(void) { printf("sizeof(double):%d bytes, sizeof(float):%d bytes\n", sizeof(double),sizeof(float)); return 0; } 실수 리터럴 표현 크기 확인 #include //표준 입출력 헤더 int main(void) { printf("sizeof(0.1):%d bytes\n", sizeof(0.1)); printf("sizeof(0.1f):%d bytes\n", sizeof(0.1f)); return 0; } 다양한 실수 표현 #include //표준 입출력 헤더 int main(void) { double df = 3.4; //실수 표현 디폴트 형식..

문자 형식 char와 ASCII 코드[언제나 C언어]

숫자 문자, 소문자, 대문자 ASCII 코드 값 확인 #include //표준 입출력 헤더 int main() { printf("%c:%d %#x\n", '0', '0', '0'); printf("%c:%d %#x\n", 'A', 'A','A'); printf("%c:%d %#x\n", 'a', 'a','a'); return 0; } #include //표준 입출력 헤더 int main() { printf("%c:%d %#x\n", '0', '0', '0'); //0011 0000 printf("%c:%d %#x\n", '1', '1', '1'); //0011 0001 printf("%c:%d %#x\n", 'A', 'A','A'); //0100 0001 printf("%c:%d %#x\n", 'B', ..

정수 표현 및 출력 (10진수, 8진수, 16진수) [언제나 C언어]

1. 정수 표현 (10진수, 8진수, 16진수로 출력) #include //표준 라이브러리 헤더 파일 #include //표준 입출력 헤더 파일 int main()//프로그램 진입점 { //10진수 출력 printf("%d\n", 10); printf("%d\n", 010);//8진수 10(8진수) = 8+0 = 8 printf("%d\n", 0x10);//16진수 10(16진수)16+0 = 16 system("pause"); return 0; } 2. 정수 출력 (10진수, 8진수, 16진수) #include //표준 라이브러리 헤더 파일 #include //표준 입출력 헤더 파일 int main()//프로그램 진입점 { //16진수 0x12345678 //0001 0010 0011 0100 0101 ..

원격 제어 프로그램 만들기 - 6. 원격 제어 요청 수신 서버 구현 및 요청 수신 1차 테스트

원격 제어 요청을 수신하는 서버 클래스를 구현합니다. 현재까지 작성한 원격 제어 요청 클라이언트와 서버 및 이벤트 인자 형식을 이용하여 테스트를 수행합니다. 테스트는 원격 제어 요청을 정상적으로 전달하고 상대측에서 요청 클라이언트의 IP와 PORT 정보를 정상적으로 수신하고 폼에 전달하는지 확인합니다. 소스 코드 SetupServer.cs //SetupServer.cs using System.Net.Sockets; using System.Threading; using System.Net; namespace 원격제어기 { /// /// 연결 요청 수신 서버 클래스 - 정적 클래스 /// public static class SetupServer { static Socket lis_sock; //연결 요청 수..

원격 제어 프로그램 만들기 - 5. 원격 제어 요청 수신 이벤트 인자 클래스 구현

원격제어 요청이 왔을 때 이를 수신한 정보를 이벤트 핸들러에서 처리할 수 있게 해 주는 인자와 대리자 형식을 구현합니다. 소스 코드 RecvRCInfoEventArgs.cs //RecvRCInfoEventArgs.cs using System; using System.Net; namespace 원격제어기 { /// /// 원격 제어 요청 수신 이벤트 인자 클래스 /// public class RecvRCInfoEventArgs : EventArgs { /// /// IP 단말 정보 - 가져오기 /// public IPEndPoint IPEndPoint { get; private set; } /// /// IP 주소 문자열 - 가져오기 /// public string IPAddressStr { get { r..

원격 제어 프로그램 만들기 - 4. 원격 제어 요청 클라이언트 구현

원격 제어를 하겠다고 요청하는 클라이언트 클래스를 구현합니다. 소스 코드 SetupClient.cs using System; using System.Net; using System.Net.Sockets; namespace 원격제어기 { /// /// 원격 제어 요청 클라이언트 - 정적 클래스 /// public static class SetupClient { public static event EventHandler ConnectedEventHandler = null; public static event EventHandler ConnectFailedEventHandler = null; static Socket sock; /// /// 원격 제어 요청 메서드 /// /// 상대 IP 주소 /// 상대 포..

반응형