728x90

1.자료구조(Data Structure)

  • 문제 해결이 쉽도록, 손쉬운 접근, 변경, 처리가 가능하게, 데이터를 조직화, 저장, 표현하는 방법
    • 구조화된 데이터에 특정한 연산들을 용이하게 할 수 있는 구조
  • 알고리즘 적용시, 효과적으로 처리 가능하도록 만들어진 특화된 데이터 체제/형태
    • ex) 배열, 링크드 리스트, 스택, 큐, 트리, 그래프 등
  • 자료 및 그 처리를 합계 고려하는 데이터 형식
    • 즉, 자료와 그 작동을 합계 고려하면서
      • 이를 컴퓨터에 효과적으로 표현, 저장, 처리하는 기술
    • 특히, 이 둘을 잘 감싸는(캡슐화) 것을, 추상자료형이라고 한다.

2.자료구조의 목적/이유

  • (추상화) 현실 세계에 존재하는 개념, 구조의 표현
    • 약속된 자료구조를 쓰면 좀 더 높은 단계의 프로그래밍이 가능
  • (효율성) 효율적으로 데이터를 사용하기 위함
    • 통상, 좋은 자료구조는 연산의 횟수를 작아지게 할 수 있지만,
      • 모든 목적에 적합한 단일한 자료구조는 없으며, 응용에 따라 달라진다.
    • 또한, 사칙연산 이외에도,
      • 읽기, 삽입, 삭제, 비교, 교환, 검색 등의 용이성, 효율성도 고려 필요
  • 즉, 문제 마다 적절한 자료구조를 사용함으로써,
    • 사용 편의성, 메모리 효율성, 코드 성능, 버그 감소 등 측면에서 유리하다.

3.자료구조의 종류

  • 단순 구조 (통상, 자료구조로써 구분 포함시키지 않음)
    • 문자형, 문자열형, 숫자형, 논리형 등
  • 자료 간의 연결 형태/모양에 따른 구분
    • 선형 자료구조 (linear, 전후 1:1 연결 형태)
      • 기본 선형 자료구조 : 리스트, 연결 리스트, 배열, 레코드 등
        • 특히 배열, 리스트 이 둘로부터, 대부분의 다른 자료구조들을 구현 가능
      • 제한 선형 자료구조 : 스택, 큐, 데크(스택과 큐가 혼합된 형태) 등
        • 자료의 입출력이 정해진 위치에서 만 가능
    • 비선형 자료구조(nonlinear, 전후 다대다 연결 형태)
      • 트리, 그래프 등
  • 자료 간에 연속, 연결 구조에 따른 구분
    • 배열에 기반한 연속 방식 구조(continuation) : 리스트 등
    • 포인터 기반의 연결 방식 구조(link) : 연결 리스트 등
  • 기타 자료구조 구분
    • 입출력 순서를 중심으로 성립되는 자료구조 : 스택, 큐 등
    • 자료들 간에 입출력 순서가 중요하지 않은 자료구조 : 집합, 딕셔너리/사전 등
    • 키 값의 연산에 의해 직접 접근이 가능한 자료구조 : 해시 테이블
    • 파일 구조에 따른 구분 : 순차 파일, 색인 파일, 직접 파일

4.자료구조의 선택 (고려 사항)

  • 데이터의 양
  • 데이터 사용 횟수 및 방법
  • 요구되는 기억장치의 양
  • 데이터 수정에 필요한 시간
  • 알고리즘 복잡도 등

5.자료구조의 관점 (저장, 처리)

  • 데이터의 저장/접근 관점
    • 데이터를 컴퓨터 메모리에 저장/접근할 때,
    • 데이터의 순서 및 위치관계 등이 명확하게 정해져야 올바른 처리 가능 하다.
  • 데이터 및 연산을 다루는 관점
    • 자료형(Data Type) : 데이터 중심으로 만 고려
      • 자료(변수)가 갖는 값의 종류를 표현
      • 이때, 연산은 그 자료형에 맞도록, 별도/부가적/부차적으로 수행되는 관점이다.
    • 추상 자료형(Abstract Data Type) : 데이터와 연산을 함께 고려
      • "자료" 및 "연산"을 모두 하나로 묶어 하나의 단위로 표현
      • 자료 저장 및 처리보다는 문제 해결 지향적인 자료형이다.
  • 예) 자료구조별 대표적인 연산들
    • 스택 : push(), pop(), createStack() 등
    • 큐 : inqueue(), dequeue(), createQueue() 등

6.자료구조의 표현 (구현)

  • 사전 정의형 (프로그래밍 언어에서 기본 내장 제공)
    • C언어 (배열, 구조체 등)
    • 파이썬 (리스트, 튜플, 집합 등)
  • 사용자 정의형 (프로그래머가 응요에 따라 직접 구현)
    • 다루는 데이터들에 대해,
      • 단순히 적절한 자료형을 선택하는 것 이상으로,
    • 종합적으로 고려하면서,
      • 어떤 연산들이 필요하고,
      • 데이터를 효율적으로 저장하는 방법은 어떻고,
      • 유효한 연산들은 무엇인지 등
    • 자료구조 및 알고리즘 등을 설계 구현해야 한다.

 

 

참고 : ktword.co.kr

728x90

'전산 > 자료구조' 카테고리의 다른 글

자료구조 - 스택(Stack)  (0) 2024.07.01
자료구조 - 01 자료구조와 알고리즘  (0) 2024.04.29
728x90

터미널으로 GitHub을 이용해 보자

// Git 설치 확인 (버전 확인)
git --version

// 로컬 저장소 초기화
cd ~/로컬 저장소
git init 

// .gitignore 파일 생성
// Unity 프로젝트에는 Library, Temp, Obj, Logs 폴더 등을 Git에서 제외하는 것이 좋다. 이를 위해 .gitignore 파일을 생성한다.
echo "/[Ll]ibrary/" >> .gitignore
echo "/[Tt]emp/" >> .gitignore
echo "/[Oo]bj/" >> .gitignore
echo "/[Ll]ogs/" >> .gitignore
echo "/[Uu]ser[Ss]ettings/" >> .gitignore
echo "/[Bb]uild/" >> .gitignore
echo "/[Bb]uilds/" >> .gitignore
echo "/[Aa]ssets/[Aa]ddresses/" >> .gitignore

// 파일 추가 및 커밋
git add .
git commit -m "커밋 메세지"


// 파일 업로드 
git push -u origin main

// 저장소 복제
git clone <repository_url>

// 변경된 내용을 확인
git diff

// 파일 추가
git add <file_or_directory>

브랜치 관리 예시

// 로컬 브랜치 목록 확인
git branch

// 원격 브랜치 목록 확인
git branch -r

// 모든 브랜치 목록 확인
git branch -a

// 현재 브랜치 확인
git status

// 새로운 브랜치 생성
git branch new-feature

// 브랜치 전환
git checkout new-feature

// 새로운 브랜치 생성 및 전환
git checkout -b another-feature

// 로컬 브랜치 삭제
git branch -d old-feature

// 원격 브랜치 삭제
git push origin --delete old-feature    

원격 저장소 관련

// 원격 저장소 추가
git remote add origin 깃허브 주소

// 원격 저장소 목록 확인
git remote -v

// 푸쉬
git push origin <branch_name>

// 풀
git pull origin <branch_name>

// 강제 푸시
git push origin <branch_name> --force

// 병합 (다른 브랜치의 변경 사항을 현재 브랜치에 병합)
git merge <branch_name>

// 리베이스 
git rebase <branch_name>

태그 관련

// 태그 생성
git tag <tag_name>

// 태그 푸쉬
git push origin <tag_name>

기타

// 로그 확인
git log

// 파일 삭제
git rm <file>
728x90

'전산 > Git' 카테고리의 다른 글

Git - 01 깃 시작하기  (1) 2024.05.15
728x90

스택이란?

  • 후입선출(LIFO, Last In First Out) 자료구조
  • 가장 최근에 삽입된 데이터가 가장 먼저 삭제

1. 스택의 기본 구조

스택의 기본 연산(push, pop, top, isEmpty)을 설명하는 예제

  • push : 스택에 요소를 추가, 배열의 끝에 새 요소르 삽입하고, top 인덱스를 증가시킴
  • pop : 스택에서 요소를 제거, 배열의 끝에서 요소를 제거하고, top 인덱스를 감소
  • peek : 스택의 최상위 요소를 확인, 스택의 top 인덱스에 있는 요소를 반환
  • isEmpty : 스택이 비어 있는지 확인, top 인덱스가 -1이면 스택이 비어있는 것

스택 구현

#include <iostream>
#define MAX 1000 // 스택의 최대 크기

using namespace std;

class Stack
{
    int top;
    int capacity;        // 스택의 크기

public:
    int a[MAX];            // 스택 배열

    Stack() 
    {
        top = -1;         // 스택 초기화
        capacity = 0;    // 스택의 크기 초기화
    }

    bool push(int x);
    int pop();
    int peek();
    bool isEmpty();
    int size();            // 스택의 크기를 반환하는 함수
};

// 스택에 요소를 추가하는 함수
bool Stack::push(int x)
{
    if(top >= (MAX - 1))
    {
        cout<< "스택 오버플로우\n";
        return false;
    }
    else
    {
        a[++top] = x;
        capacity++;
        cout<<x<<" 스택에 푸쉬 되었습니다\n";
        return true;
    }
}

// 스택에서 요소를 제거하는 함수
int Stack::pop()
{
    if(top < 0)
    {
        cout<< "스택 언더플로우\n";
        return 0;
    }
    else
    {
        int x = a[top--];
        capacity--;
        return x;
    }
}


// 스택에 최상위 요소를 반환하는 함수
int Stack::peek()
{
    if(top < 0)
    {
        cout<<"스택에 쌓인게 없어요\n";
        return 0;
    }
    else
    {
        int x = a[top];
        return x;
    }
}

// 스택이 비었는지 확인하는 함수
bool Stack::isEmpty()
{
    return (top<0);
}

// 스택의 크기를 반환하는 함수
int Stack::size()
{
    return capacity;
}


int main()
{
    Stack s;
    s.push(10);
    s.push(20);
    s.push(30);
    cout<<s.pop()<<"\n";
    cout<<s.peek()<<"\n";
    cout<<s.size()<<"\n";
    cout<<s.isEmpty()<<"\n";

    return 0;
}

과제로 하면 좋을 것

  1. 스택의 크기 반환 함수를 추가해보자
  2. 스택을 동적 배열로 구현해보자
  3. 연결 리스트를 이용한 스택을 구현해보자
  4. 예외 처리를 추가하여 더 견고한 스택 클래스를 만들어보자

필요에 따라 STL의 std::stack을 사용하는 것도 좋은 방법

스택을 동적 배열로 구현

#include <iostream>
#include <vector>

using namespace std;

class Stack {
private:
    vector<int> a; // 동적 배열을 이용한 스택

public:
    Stack() {}

    bool push(int x);
    int pop();
    int peek();
    bool isEmpty();
    int size(); // 스택의 크기를 반환하는 함수
};

// 스택에 요소를 추가하는 함수
bool Stack::push(int x) {
    a.push_back(x);
    cout << x << " 스택에 푸쉬 되었습니다\n";
    return true;
}

// 스택에서 요소를 제거하는 함수
int Stack::pop() {
    if (a.empty()) {
        cout << "스택 언더플로우\n";
        return 0;
    } else {
        int x = a.back();
        a.pop_back();
        return x;
    }
}

// 스택의 최상위 요소를 반환하는 함수
int Stack::peek() {
    if (a.empty()) {
        cout << "스택에 쌓인게 없어요\n";
        return 0;
    } else {
        return a.back();
    }
}

// 스택이 비었는지 확인하는 함수
bool Stack::isEmpty() {
    return a.empty();
}

// 스택의 크기를 반환하는 함수
int Stack::size() {
    return a.size();
}

int main() {
    Stack s;
    s.push(10);
    s.push(20);
    s.push(30);
    cout << s.pop() << " 스택에서 팝 되었습니다\n";
    cout << "최상위 요소는 " << s.peek() << " 입니다\n";
    cout << "스택의 크기는 " << s.size() << " 입니다\n";
    cout << "스택이 비었나요? " << (s.isEmpty() ? "네" : "아니요") << endl;

    return 0;
}
728x90
728x90

마크다운이란?

  • 텍스트 기반의 마크업 언어
  • 간단한 문법을 사용하여 HTML로 변환할 수 있음
  • 쉽게 포맷팅된 텍스트를 작성할 수 있음
    • 티스토리나 깃허브에서도 마크다운을 사용하여 글을 작성할 수 있음

기본 문법

줄바꿈(Line Breaks)

  1. 두칸의 공백을 사용한 줄바꿈
    줄 끝에 두 칸의 공백을 추가한 후 줄바꿈을 하면 됨
첫 번째 줄 끝에 두 칸의 공백을 추가합니다.  
그리고 다음 줄을 작성합니다.
  1. HTML 태그를 사용한 줄바꿈

    태그를 사용하여 줄바꿈을 할 수 있음

    첫 번째 줄 끝에 `<br>` 태그를 추가합니다.<br>
    그리고 다음 줄을 작성합니다.
  2. 여러 줄 공백(Multiple Line Breaks)
    마크다운 자체는 여러 줄 공백을 기본적으로 지원하지 않지만, HTML 태그를 사용하여 해결할 수 있음

     &nbsp; - Non-Breaking Space        // 연속된 공백을 유지하고 싶을 떄 사용
     &ensp; - En Space                // 일반적인 공백보다 약간 넓은 공백(보통 문자'n'의 너비)
     &emsp; - Em Space                // 일반적인 공백보다 더 넓은 공백(보통 문자 ‘m’의 너비).
     &thinsp; - Thin Space            // 매우 좁은 공백
     &hairsp; - Hair Space            // 거의 눈에 띄지 않는 매우 좁은 공백
     &zwnj; - Zero Width Non-Joiner    // 너비가 없는 공백. 문자들이 결합되지 않도록 함
     &zwj; - Zero Width Joiner        // 너비가 없는 공백. 문자들을 결합시킴
     &lrm; - Left-To-Right Mark        // 방향을 왼쪽에서 오른쪽으로 설정하는 공백
     &rlm; - Right-To-Left Mark        //방향을 오른쪽에서 왼쪽으로 설정하는 공백

제목(Header)

제목은 #문자를 사용하여 작성

#의 개수에 따라 제목의 레벨이 결정됨

# 제목 1
## 제목 2
### 제목 3
#### 제목 4
##### 제목 5
###### 제목 6

**

목록(List)**

1. 순서 있는 목록(Ordered List)

숫자와 점을 사용하여 작성

1. 첫 번쨰 항목
2. 두 번쨰 항목
3. 세 번쨰 항목

2. 순서 없는 목록(Unordered List)

하이픈(-), 별표(*), 또는 더하기 기호(+)를 사용하여 작성

- 첫 번째 항목
- 두 번째 항목
- 세 번째 항목

* 첫 번째 항목
* 두 번째 항목
* 세 번째 항목

+ 첫 번째 항목
+ 두 번째 항목
+ 세 번째 항목

**

강조(Emphasis)**

  1. 기울임(Italic)

별표(*)나 언더스코어(_) 한 개로 감싼다.

*기울임*
_기울임_
  1. 굵게(Bold)

별표(*)나 언더스코어(_) 두 개로 감싼다.

**굵게**
__굵게__
  1. 취소선(Strikethrough)

물결표(~) 두 개로 감싼다.

~~취소선~~

**

링크(Links)**

대괄호로 링크 텍스트를 감싸고, 뒤에 괄호로 링크 URL을 작성

[Google](https://www.google.com)

이미지(Images)

느낌표(!)를 앞에 추가하고 링크와 같은 형식으로 작성

![Alt text](이미지 URL)

**

코드(Code)**

  1. 인라인 코드(Inline Code)

백틱(```)으로 감싼다.

`코드`
  1. 코드 블록(Code Block)

백틱 세 개로 감쌉니다. 언어를 명시하면 문법 강조(Syntax Highlighting)가 적용

```python
print("Hello, World!")

인용문(Blockquote)

> 기호를 사용하여 작성합니다.

> 이것은 인용문입니다.
> 여러 줄에 걸쳐 작성할 수 있습니다

수평선(Horizontal Rule)

하이픈(-), 별표(*), 또는 언더스코어(_) 세 개를 사용합니다.

---
***
___
728x90
728x90

static_cast

  • static_cast는 C++에서 타입 변환을 수행할 때 사용하는 캐스트 연산자이다.
  • static_cast는 컴파일 시간에 타입 변환을 검사하며, 안전한 변환만을 허용한다.

 

기본 문법

static_cast<new_type>(expression)
// new_type : 변환하고자 하는 타입
// expression : 변환 대상이 되는 표현식

 

사용예제

// 기본 타입 변환
int a = 10;
double b = static_cast<double>(a) // int를 double로 변환

// 포인터 타입 변환
class Base {};
class Derived : public Base {};

Base* base new Derived();
Derived* derived = static_cast<Derived*>(base); // 안전한 다운캐스팅

// 열거형 타입 변환
eunm class Colors { Red, Green, Blue };
int colorValue = static_cast<int>(Colors::Red); // 열거형을 정수형으로 변환

 

주의사항

  • static_cast는 컴파일 시간에 타입 검사만 하므로, 런타임에 안전성을 보장하지는 않음.
    예를 들어, 상속 관계에서 기본 클래스 포인터를 유도 클래스 포인터로 변환할 때, 실제로 유도 클래스 객체를 가리키고 있지 않으면 잘못된 결과를 초래할 수 있음.
  • 잘못된 타입 변환을 시도할 경우, 컴파일 오류가 발생할 수 있음.

 

728x90

'전산 > C++' 카테고리의 다른 글

c++ - std::endl 과 "\n"의 차이  (0) 2024.06.29
728x90

백준 하노이 탑 이동 순서 문제

endl를 "\n"로 바꿨을 뿐인데 맞았다.

eldl를 썼을 때
\n를 썼을 때



endl과 "\n" 은 C++에서 개행을 나타내는 방법이다.

 

 

endl은 C++ 표준 라이브러리 에 정의된 출력 스트림 조직자 이다.

  • 출력 스트림에 개행 문자("\n")을 출력한다.
  • 버퍼를 비워서 (파일 출력의 경우 파일에 쓰기를 강제로 실행함으로써) 출력이 즉시 화면에 나타난다.
  • 일반적으로 버퍼링을 사용하는 출력에서는 endl을 사용하여 출력을 하면 비효율적이 될 수 있다.

버퍼 : 일시적으로 데이터를 저장하는 메모리 공간

버퍼링 : 데이터를 일시적으로 버퍼에 저장하여 입출력 성능을 향상시키는 기술

 

"\n"은 개행 문자로 문자 리터럴로 사용된다.

  • 단순히 문자열에 개행 문자를 추가한다.
  • 이는 버퍼를 비우지 않고, 다음 출력이 이어서 나타낼 수 있다.

 

 

 

결론 : 일반적으로 개행만 필요하다면 "\n"을 사용하는 것이 효율적이다.

endl은 특정 상황에서 버퍼를 비우는 것이 필요할 때 사용하자.

728x90

'전산 > C++' 카테고리의 다른 글

C++ - static_cast  (0) 2024.07.01
728x90
brew update
// Homebrew 패키지 관리자의 패키지들을 최신 상태로 업데이트
// Homebrew는 macOS에서 패키지 관리를 쉽게 할 수 있도록 도와주는 도구

brew install mysql
// Homebrew를 사용하여 MYSQL 데이터베이스 서버를 설치

mysql --version
// 설치된 MYSQL의 버전을 확인

mysql.server start
// MYSQL 서버를 시작 Homebrew를 통해 설치한 경우 mysql.server 명령을 사용하여 MySQL을 시작할 수 있음

mysql_secure_installation
// MYSQL을 초기 설정하는 명령 
// 이 과정에서 MYSQL root 사용자의 비밀번호 설정 및 보안 관련 설정을 수행할 수 있음

//Enter current password for root (enter for none): [Press Enter]
//(초기 설정이므로 비밀번호가 없다면 그냥 엔터를 누릅니다)
//Set root password? [Y/n] Y
//새로운 root 비밀번호를 설정합니다.
//Remove anonymous users? [Y/n] Y
//익명 사용자를 삭제할지 여부를 물어봅니다.
//Disallow root login remotely? [Y/n] Y
//원격에서 root 계정으로 로그인을 허용할지 여부를 물어봅니다.
//Remove test database and access to it? [Y/n] Y
//테스트 데이터베이스를 삭제할지 여부를 물어봅니다.
//Reload privilege tables now? [Y/n] Y
//권한 테이블을 다시 불러올지 여부를 물어봅니다.

mysql -u root -p
// MYSQL에 root 사용자로 접속하는 명령
// 이 명령을 통해 MYSQL 콘솔에 접근할 수 있음.

//-u root: root 사용자로 접속합니다.
//-p: 비밀번호를 입력하라는 프롬프트가 나타납니다. 설정한 root 비밀번호를 입력하세요.

 

SHOW DATABASES;
// MYSQL 서버에 존재하는 모든 데이터베이스의 목록을 조회하는 명령어
// 모든 데이터베이스의 이름이 나열

CREATE DATABASE (데이터베이스 이름);
// 새로운 데이터베이스를 생성하는 명령어
// 데이터베이스 이름을 지정하여 새로운 데이터베이스를 생성할 수 있음

USE (데이터베이스 이름);
// 지정된 데이터베이스를 사용하도록 설정하는 명령어
// 해당 데이터베이스 내에서 쿼리를 실행할 수 있음

CREATE TABLE (테이블 이름)
// 새로운 테이블을 생성하는 명령어
// 이 명령어를 사용하여 데이터베이스 내에 테이블을 만들고
// 각 열의 이름 데이터 유형, 제역조건  등을 지정할 수 있음

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    position VARCHAR(50),
    salary DECIMAL(10, 2) DEFAULT 0.00
);

INSERT INTO (테이블 이름)
// 새로운 데이터를 삽입하는 명령어
// 특정 테이블에 새로운 행을 추가할 수 있음

INSERT INTO employees (id,name,position,salary) VALUES(1,'WooMin','Manager',75000);

exit
// MYSQL 콘솔에서 나가는 명령어
// 현재 MYSQL 콘솔 세션을 종료하고 쉘 또는 터미널로 돌아감

mysql.server stop
// macOS에서 MYSQL 서버를 정지하는 명령어
// Homevrew를 통해 설치한 MYSQL을 관리할 때 사용할 수 있음​

 

 

 

728x90
728x90
증명 proof 공리 axiom
정의 definition 정리 theorem
직접 증명법 direct proof 소수 prime number
모순 증명법 proof by contradiction 대우 증명법 proof by contrapositive
존재 증명법 existence proof 반례 증명법 proof by counter-example
수학적 귀납법 mathematical induction 완전수 perfect number
완전 제곱수 perfect square number    

 

728x90
728x90
진릿값 truth value true
거짓 false 명제 proposition
단순명제 simple proposition 활성명제 compound proposition
진리표 truth table 부정 NOT
논리곱 AND (conjunction) 논리합 OR
배타적 논리합  Exclusive OR, XOR 동치 equivalence
조건명제 conditional proposition 함축 implication
전제1 1. premise (2.hypothesis) 가정 hypothesis
결론 conclusion 결과 consequence
converse inverse
대우 contraposition 쌍방조건명제 biconditional proposition
항진명제 tautology 모순명제 contradiction
사건명제 contingency 논리적 동치 logically equivalence
항등법칙 identity law 지배법칙 domination law
부정법칙 negation law 이중 부정법칙 double negation law
멱등법칙 idempotent law 교환법칙 commutative law
결합법칙 associative law 분배법칙 distributive law
드 모르간의 법칙 De Morgan's law 흡수법칙 absorption law
함축법칙 implication law 명제함수 propositional function
논의영역 domain of discource 구속변수 binding variable
자유변수 free variable 전체 한정자 universal quantifier
존재 한정자 existential quantifier 추론 inference
논증 reasoning 유효추론 / 정당한 추론 valid inference
허위추론 / 부당한 추론 fallacious inference 선언적 부가 disjunctive addition
단순화 simplication 긍정논법 modus ponens
부정논법 modus tollens 선언적 삼단논법 또는 소거 disjunctive syllogism
가설적 삼단논법 또는 추이 hypothetical syllogism    
728x90
728x90
자연수 nutural number 정수 integer
유리수 rational number 무리수 irrational number
실수 real number 허수 단위 imaginary unit
복소수 complex number 허수 imaginary number
항등원 identity element 역원 inverse element
합연산 시그마(sigma) 곱연산 프로덕트(product)
계승 팩토리얼(factorial) quotient
나머지 remainder 몫을 구하는 연산 div
나머지를 구하는 연산 mod 10진법 decimal number system
10진수 decimal number 2진법 binary number system
2진수  binary number 8진법 octal number system
8진수 octal number 16진수 hexadecimal number system
16진수 hexadecimal number 비트 bit,binary digit
보수 complement 1의 보수 1's complement
2의 보수 2's complement 부호-절댓값표현 sign-magnitude
부호-1의 보수 sign-1's complement 부호-2의보수 sign-2's complement
초과 overflow 기수 base

 

728x90

+ Recent posts