본문 바로가기
반응형

전체 글154

Bitwise operation(비트 연산)과 BitMask(비트마스크) 정리 Bitwise operation과 Java의 BigInteger에 대하여 알아보고 다른 부가적인 것들에 대해서도 정리해 보겠다. Bitwise operation(비트 연산)이란 한 개 또는 두 개의 이진수에 대해 비트 단위로 적용되는 연산이다. 비트 연산의 종류로는 AND 연산, OR 연산, XOR 연산, NOT 연산 그리고 SHIFT 연산들이 있다. ● AND 연산 - 두 값의 각 자릿수를 비교해, 두 값 모두에 1이 있을 때에만 1을, 나머지 경우에는 0을 계산하는 연산이다. 비트 A(= 0101)와 B(= 1100)가 있을 때, "A & B" 로 표현하며 0100의 결과를 만들어낸다. ● OR 연산 - 두 값의 각 자릿수를 비교해, 둘 중 하나라도 1이 있다면 1을, 아니면 0을 계산하는 연산이다... 2023. 4. 5.
C++ 문자열에 관한 정리 & String 직접 구현하기 C++ 문자열의 저장 방식과 동작 메커니즘 등을 알아보고 또 라이브러리의 String 클래스에 해당하는 JString을 직접 만들어 보도록 하겠다. 문자열을 다루기 전에 컴퓨터 메모리 영역의 구조에 대해서 알아야 할 필요가 있다. 운영체제의 메인 메모리 영역은 Code 영역, Data 영역, Heap 영역, Stack 영역 이 네가지로 분류된다. ● Code 영역 - 코드 영역은 텍스트 영역이라고도 하며 "코드를 실행하기 위해 저장되어 있는 영역"이다. 프로그램을 실행시키기 위해 구성되는 것들이 저장되는 영역이며, 제어문 / 상수 / 함수 등이 이 영역에 저장된다. ● Data 영역 - 작성한 소스코드에서 사용한 전역변수, 정적변수 등이 저장되는 공간이다. 이것들은 보통 프로그램 실행 전에 선언되어 프로.. 2023. 4. 4.
C File read 정리 & 테스트 C에서 File 단위로 데이터를 입력받고 관리하기 FILE *를 사용하여 프로그램 내에서 text 파일을 읽어와 보고 몇 가지 문제 있는 방식과 개선된 방식, 파일에 담긴 데이터의 양을 dynamic하게 메모리에 할당받아 관리하는 방식 등을 알아보겠다. #include #include typedef struct _alcohol { char name[10]; int ABV; //alcohol by volumn } Alcohol; void print(Alcohol *al, int n) { int i; for (i = 0; i < n; i++) printf("%10s %5d\n", al[i].name, al[i].ABV); } main() { Alcohol al[100]; FILE *inFile; int li.. 2023. 4. 3.
C# 2차원 배열 & 가변 배열 정리 C#으로 2차원 배열을 만들어 쓰는 법을 알아보겠다. C#에서는 다차원 배열을 만들때 특이한 syntax를 쓰는데, 바로 배열 [] 사이에다 ','를 넣는것이다. 2차원배열 선언시, 필요한 row와 col 값만큼을 ','로 구분지어서 명시해주면 그 사이즈 만큼의 2차원 배열이 할당된다. 코드를 보면서 직접 사용해 보겠다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSArray2Test { class Program { static int getSum(int[,] p) { int sum = 0; for (int i = 0; i.. 2023. 4. 2.
C언어 1차원 배열과 2차원 배열 간단한 정리와 테스트 C Language 1ㆍ2 차원 배열의 사용과 특성에 대해 알아보겠다. 먼저 C의 1차원 배열 사용 관습이다. #include #include int getSum(int p[], int n) { int sum = 0; int i; for (i = 0; i < n; i++) sum += p[i]; return sum; } void print(int p[], int n) { int sum = 0; int i; for (i = 0; i < n; i++) printf("%d ", p[i]); printf("\n"); } main() { int x[100]; int i; int sum = 0; int n; printf("Type size of array : "); scanf("%d", &n); for (i = 0.. 2023. 4. 1.
C++ LinkedList 만들기 (version 4 - Doubly LinkedList) C++로 Doubly LinkedList 만들기 https://suldenlion.tistory.com/97 (C로 자료구조 구현하기) LinkedList 만들기 (version 2 - Doubly LinkedList) C로 LinkedList 구현하기 Doubly LinkedList를 C로 구현해 보겠다. Doubly LinkedList는 Singly LinkedList의 단점을 보완해 만든 LinkedList로, Library에 있는 LinkedList는 Doubly LinkedList로써 구현되어 있다. Singly LinkedList suldenlion.tistory.com 위의 C로 Doubly LinkedLIst 만들기의 코드를 참고하여 C++ Doubly LinkedList를 만들어 보겠다... 2023. 3. 31.
반응형