IT공부 86

[ETC] 지수와 로그 역관계

* 역관계   두 연산이나 함수가 서로 반대 역할을 수행하는 관계를 뜻한다   하나의 연산을 적용한 결과를 다시 다른 연산으로 처리하면 원래의 값으로 되돌아가는 관계를 의미한다 * 지수와 로그는 역관계 * 정리하자면   역관계는 두 연산이 서로 완벽히 상쇄되는 관계를 의미한다   로그와 지수는 값을 만들고, 그 값을 통해 원래의 지수를 찾는 방식으로 항상 짝을 이룬다 * 거틉제곱   같은 수를 여러 번 곱할 때,   곱하는 수(밑)과 곱하는 횟수(지수)를 이용하여 간단히 나타낸 것 * 제곱근   제곱하여 실수 a가 되는 수   즉, 어떤 수를 제곱해서 다른 수를 만든다 * 제곱한다   어떤 수를 두 번 곱한다는 뜻

IT공부 2024.12.14

[ETC] 꼭 알아야 하는 어셈블리 명령어

1. 데이터 이동 명령어mov데이터를 한 레지스터에서 다른 레지스터, 혹은 메모리 간에 복사MOV EAX, EBX ; EBX 값을 EAX로 복사MOV EAX, [ADDR] ; 메모리 주소 ADDR의 값을 EAX로 복사MOV [ADDR], EAX ; EAX 값을 메모리 주소 ADDR에 저장 xchg두 레지스터(또는 레지스터와 메모리) 값 교환XCHG EAX, EBX ; EAX와 EBX 값 교환 2. 산술 연산 명령어add / sub더하기, 빼기ADD EAX, EBX ; EAX = EAX + EBXSUB EAX, 5 ; EAX = EAX - 5 mul / imul곱셈(부호 없는 곱셈 : mul, 부호 있는 곱셈 : imul)MUL ECX ..

IT공부 2024.12.05

[ETC] 확률

★ 확률 공부를 위한 참고 블로그https://m.blog.naver.com/parkhc1992/220562564580 [확률과 통계] 독립시행이란?고2, 고3 할것없이 많은 수험생들이 어려워하는 단원이 있습니다.그것은 바로 확률과 통계 파트! 분명 미적...blog.naver.com https://angeloyeo.github.io/2021/04/23/binomial_distribution.html 이항 분포 - 공돌이의 수학정리노트 (Angelo's Math Notes) angeloyeo.github.io https://projecteli.tistory.com/200 뽑기 확률 시뮬레이터, 설계부터 구현까지들어가며우리나라에도 제대로 된 온라인 뽑기 확률 계산기가 있으면 좋겠다는 생각에서 출발했었고, ..

IT공부 2024.11.13

[윤성우 열혈 C++프로그래밍] Part4. 객체지향의 완성 - 2

** C++ 표준 라이브러리, string 클래스 : 문자열의 처리를 목적으로 정의된 클래스#include #include using namespace std;int main(void){ string str1 = "I like "; string str2 = "string class"; string str3 = str1 + str2; cout > str4; cout > 연산자 오버로딩 return 0;} ** string 클래스를 대체하는 String 클래스 만들기1) 분석   ① 문자열을 인자로 전달받는 생성자 정의   ② 생성자, 소멸자, 복사 생성자, 대입 연산자의 정의   ③ 결합된 문자열로 초기화된 객체를 반환하는 + 연산자의 오버로딩   ④ 문자열을 덧붙이는 += 연산자의 오버로딩   ⑤ 내용 ..

IT공부/IT서적 2024.09.24

[윤성우 열혈 C++프로그래밍] Part4. 객체지향의 완성 - 1

** 연산자 오버로딩 : 기존에 존재하던 연산자의 기본 기능 외에 다른 기능을 추가할 수 있음   ㄴ 연산자를 오버로딩 한 함수도 const 선언 가능 ** 연산자를 오버로딩 하는 두가지 방법1) 멤버함수에 의한 연산자 오버로딩#include using namespace std;class Point{private: int xPos, yPos;public: Point(int x = 0, int y = 0) : xPos(x), yPos(y) { } void ShowPosition() const { cout  2) 전역함수에 의한 연산자 오버로딩#include using namespace std;class Point{private: int xPos, yPos;public: Point(int x = 0, i..

IT공부/IT서적 2024.09.21

[윤성우 열혈 C++프로그래밍] Part3. 객체지향의 전개

** 기능의 처리를 실제로 담당하는 클래스를 가리켜 '컨트롤(control) 클래스' 또는 '핸들러(handler) 클래스'라 함 ** 상속(Inheritance)   [과거] 기존에 정의해 놓은 클래스의 재활용을 목적으로 만들어진 문법적 요소   [새로운 관점] UnivStudent 클래스가 Person 클래스를 상속한다는 전제                         UnivStudent 객체에는 UnivStudent 클래스에 선언되어 있는 멤버 뿐만 아니라                         Person 클래스에 선언되어 있는 멤버도 존재하게 됨#include using namespace std;class Person{private: int age; char name[50];public: ..

IT공부/IT서적 2024.09.14

[윤성우 열혈 C++프로그래밍] Part2. 객체지향의 도입

** 구조체 등장 이유? : 연관 있는 데이터를 하나로 묶으면, 프로그램의 구현 및 관리가 용이 1) C++은 구조체 안에 함수와 enum 상수의 사용이 가능함#include using namespace std;struct Car{ // 구조체 안에 enum 상수의 선언 enum { ID_LEN = 20, MAX_SPD = 200, FUEL_STEP = 2, ACC_STEP = 10, BRK_STEP = 10 }; // 구조체 변수의 선언 char gamerID[ID_LEN]; // 소유자 ID int fuelGauge; // 연료량 int curSpeed; // 현재속도 // 구조체 안에 ..

IT공부/IT서적 2024.08.15

[윤성우 열혈 C++프로그래밍] Part1. c++로의 전환

** C++ 에서 입력과 출력#include int main() { char name[100]; char lang[200]; std::cout>name; std::cout>lang; std::cout ** 함수 오버로딩(Function Overloading) : 전달되는 인자를 통해서 호출하고자 하는 함수의 구분   ① 매개변수의 자료형 또는 개수가 다름   ② 반환형이 달라도 호출되는 함수의 기준이 될 수 없으므로 불가능 int SUM(int num1, int num2){ return num1 + num2;}int SUM(double num1, double num2){ return num1 + num2;}int SUM(int num1, int num2, int nu..

IT공부/IT서적 2024.08.08

[윤성우 열혈 C프로그래밍] Part4. C언어의 깊은 이해

** 스트림(stream) : 프로그램상에서 모니터와 키보드를 대상으로 데이터를 입출력 하기 위해서는 이들을 연결시켜 주는 다리가 필요   →  이러한, 다리의 역할을 하는 매개체   [운영체제]에서 제공하는 소프트웨어적인 가상의 다리   [운영체제]는 외부장치와 프로그램과의 데이터 송수신의 도구가 되는 스트림을 제공         ㄴ 출력 스트림 : 실행중인 프로그램과 모니터를 연결 - (예) printf         ㄴ 입력 스트림 : 실행중인 프로그램과 키보드를 연결 - (예) scanf ** 콘솔(일반적으로 키보드와 모니터를 의미) 입출력과 파일 입출력 사이의 차이점 : 파일과의 연결을 위한 스트림 생성은 우리가 직접 요구해야하지만,   콘솔과의 연결을 위한 스트림의 생성은 요구할 필요 없음  ..

IT공부/IT서적 2024.07.28

[윤성우 열혈 C프로그래밍] Part3. 포인터와 배열의 완성

** 가로 행, 세로 열 ** 다차원 배열 : TYPE arr[세로길이][가로길이]; ** 2차원 배열도 메모리상에서는 1차원 형태로 존재            ▲ int arr [3][2]; ** 3차원 배열은 여러 개의 2차원 배열이 모여있는 형태 ** **(포인터의 포인터, 더블 포인터) : 포인터 변수를 가리키는 이중 포인터 변수 ** 포인터 변수 대상의 Call-by-referencevoid Swap (int* ptr1, int* ptr2){ int temp = *ptr1; *ptr1 = *ptr2; *ptr2 = temp;}▲  두 변수에 저장된 값 바꾸기 void Swap (int* p1, int* p2){ int* temp = p1; p1 = p2; p2 = ..

IT공부/IT서적 2024.07.24