분류 전체보기
[C++] 비트 연산과 비트 플래그, 비트 시프
[C++] 비트 연산과 비트 플래그, 비트 시프
2022.03.19비트 연산과 비트 플래그 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! 비트 연산이란? 입력된 두 값을 비트 단위로 나열한 뒤에 비트 연산자로 연산한다. 비트 단위로 연산을 하며 각 자릿수의 연산은 독립적이여서 다른 자릿수의 연산에 영향을 주지 않는다. 언제 필요한가? 비트 단위의 조작이 필요할 때 사용. 대표적으로 Bitflag 비트 연산 종류 ~ bitwise not & bitwise and | bitwise or ^ bitwise xor NOT 두 입력값이 뒤바뀜. ->> 0은 1, 1은 0으로 뒤바뀌어 출력 AND 두 입력값이 모..
[C++] 비교 연산과 논리 연산
[C++] 비교 연산과 논리 연산
2022.03.19비교 연산과 논리 연산 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! 비교 연산 == != a > b a < b 논리 연산 ! && || 코드 더보기 #include // a[ 1 ] // a라는 이름의 바구니를 할당하고 안에 1을 넣는다. int a = 1; // b[ 2 ] // b라는 이름의 바구니를 할당하고 안에 2을 넣는다. int b = 2; bool isSame; bool isDifferent; bool isGreater; bool isSmaller; bool test; int hp = 100; bool isInvincibl..
[C++] 산술연산
[C++] 산술연산
2022.03.19산술연산 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! 코드 더보기 #include using namespace std; // 오늘의 주제: 데이터 연산 // 데이터를 가공하는 방법에 대해서 알아봅시다 // a[ 1 ] // a라는 이름의 바구니를 할당하고 안에 1을 넣는다 int a = 1; // b[ 2 ] // b라는 이름의 바구니를 할당하고 안에 1을 넣는다 int b = 2; int main() { #pragma region 산술 연산 // 산술 연산자 // a에 b를 대입하고 b를 반환하라 // -> b라는 바구니 안에 있는 ..
[C++] 문자와 문자열
[C++] 문자와 문자열
2022.03.19문자와 문자열 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! 문자 bool은 그냥 정수지만, 참/거짓을 나타내기 위해 사용한다 했었다. 사실 char도 마찬가지이다. 그냥 정수지만 '문자' 의미를 나타내기 위해 사용한다. char : 알파벳 / 숫자 문자를 나타낸다. wchar_t : 유니코드 문자를 나타낸다. ASCII (American Standard Code for Information Interchange) '문자'의 의미로 작은 따옴표 ' 사용 유니코드 (Unicode) 국제화 시대에는 영어만으로 서비스 할 수 없다. 전 세계 ..
[C++] Boolean & Floating point 불리언과 부동소수점
[C++] Boolean & Floating point 불리언과 부동소수점
2022.03.19Boolean & Floating point 불리언과 부동소수점 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! Floating point 부동 소수점 bool은 그냥 1바이트 정수에 불과하다. 어셈블리 언어에서는 bool이라는 것이 없다. bool만 봐도 참/거짓 둘 중 하나라는 힌트를 준다. (가독성) 0은 false 0이 아닌 값은 true Floating point 부동 소수점 부동소수점: .을 유동적으로 움직여서 표현하는 방법 프로그래밍에서의 부동소수점은 항상 '근사값'이다. 1/3 = 0.3333333333333333333333..
[Assembly Language] Stack Memory 스택 메모리
[Assembly Language] Stack Memory 스택 메모리
2022.03.19Memory Structure 메모리의 구조 http://www.tcpschool.com/c/c_memory_structure 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com https://jinshine.github.io/2018/05/17/%EC%BB%B4%ED%93%A8%ED%84%B0%20%EA%B8%B0%EC%B4%88/%EB%A9%94%EB%AA%A8%EB%A6%AC%EA%B5%AC%EC%A1%B0/ [컴퓨터 기초] 메모리구조(Memory Structure) - jinShine 프로그램 실행 순서 메모리 영역에 관해 이야기하기 전에 어떤식으로 프러그램이 실행되는지 과정을 살펴 보겠습니다. 프로그램의 정보를 ..
[Assembly Language] 함수 기초
[Assembly Language] 함수 기초
2022.03.19함수기초 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869%include "io64.inc" section .textglobal CMAINCMAIN: mov rbp, rsp; for correct debugging ; 함수 (프로시저 procedure 서브루틴 subroutine) ; call PRINT_MSG mov eax, 10 mov ebx, 15 call MAX PRINT_DEC 4, ecx NEWLINE xor rax, rax ret PRINT_MSG: PRINT_STRING msg NEWLINE ret ; ex) ..
[Assembly Language] 배열과 주소
[Assembly Language] 배열과 주소
2022.03.181 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 %include "io64.inc" section .text global CMAIN CMAIN: mov rbp, rsp; for correct debugging ; 배열과 주소 ; 배열 : 동일한 타입의 데이터 묶음 ; - 배열을 구성하는 각 값을 배열 요소(element)라고 함 ; - 배열의 위치를 가리키는 숫자를 인덱스(index)라고 함 ; 주소 ; [시작 주소 + 인덱스 * 크기] mov rax, a..
[Assembly Language] 반복문
[Assembly Language] 반복문
2022.03.1812345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364%include "io64.inc" section .textglobal CMAINCMAIN: mov rbp, rsp; for correct debugging ; 반복문 (while for) ; 특정 조건을 만족할 때까지 반복해서 실행~ ; ex) Hello World를 10번 출력해야 한다면? mov ecx, 10 LABEL_LOOP: PRINT_STRING msg NEWLINE dec ecx ; sub ecs, 1과 동일 cmp ecx, 0 jne LABEL_LOOP ; 연습 문제) 1에서 1..
[Assembly Language] 분기문, IA-32 Register
[Assembly Language] 분기문, IA-32 Register
2022.03.18분기문 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 %include "io64.inc" section .text global CMAIN CMAIN: mov rbp, rsp; for correct debugging ; 분기문 (if) ; 특정 조건에 따라서 코드 흐름을 제어하는 것 ; ex) 스킬 버튼 눌렀는가> YE..
[Assembly Language] Shift Operation & Logical Operation 시프트 연산과 논리 연산
[Assembly Language] Shift Operation & Logical Operation 시프트 연산과 논리 연산
2022.03.17비트 연산 입력된 두 값을 비트 단위로 나열한 뒤에 비트 연산자로 연산한다. 비트 단위로 연산을 하며 각 자릿수의 연산은 독립적이여서 다른 자릿수의 연산에 영향을 주지 않는다. AND 두 입력값이 모두 1 ->> 1을 출력 OR 하나 이상의 입력값이 1 ->> 1을 출력 XOR 입력값이 같지 않으면 ->> 1을 출력 연산자 비트1 비트2 결과 연산 예시 AND & 0 0 0 0010 0100 (36) 0000 0100 ( 4) ------------------& 0000 0100 ( 4) 0 1 0 1 0 0 1 1 1 OR | 0 0 0 0100 0001 (65) 0010 1000 (40) ------------------| 0110 1001 (105) 0 1 1 1 0 1 1 1 1 XOR ^ 0 0..
[Assembly Language] 사칙연산
[Assembly Language] 사칙연산
2022.03.171 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 %include "io64.inc" section .text global CMAIN CMAIN: mov rbp, rsp; for correct debugging GET_DEC 1, al GET_DEC 1, num PRINT_DEC..