[컴퓨터 구조] 문자 집합

이혜령·2024년 3월 20일
0

컴퓨터 구조

목록 보기
2/2
post-thumbnail

문자 집합

: 컴퓨터가 인식할 수 있는 문자 모음을 말한다. 인코딩하여 0과 1로 표현이 가능하다.

인코딩: 사람의 언어를 컴퓨터가 이해할 수 있게끔 변환
디코딩: 컴퓨터의 언어를 사람이 이해할 수 있게끔 변환...

아스키 코드

: ASCII(American Standard Code For Information Interchange), 미국 정보 교환 표준 부호를 말한다.

EUC-KR

: 한글을 2바이트 크기로 인코딩 해 만들어진 한글 완성형 인코딩이다.

유니코드

: 여러 나라의 문자들을 표현할 수 있는 통일된 문자 집합

UTF-8, UTF-16, UTF-32...

문자 집합의 등장 흐름

  1. 기계어로 문자 인식이 되지 않음
  2. 이미 약속된 문자표를 정함
  3. 대표적 문자표, 아스키 코드를 사용
  4. 영어권이 아닌 컴퓨터 사용자가 등장하게 됨
  5. 영어 아닌 문자는 인식이 되지 않는 문제 발생
  6. 한글을 위해 EUC-KR 등장
  7. 한글 뿐 아니라 여러 나라별 문자 호환성 문제 발생
  8. 토일된 방식의 유니코드 등장
  9. 영어는 1 바이트, 한글을 2 바이트로 지정
  10. 문자 앞에 바이트 정보 표를 넣어 저장하게 됨, 이를 인코딩이라 함

기계어 단위

  • 기계어
    : 말 그대로 컴퓨터가 쓰는 언어
  • 저급언어
    : 기계어와 비슷한 컴언어(ex. 어셈블리어...)
  • 고급언어
    : 사람의 언어와 비슷한 컴언어(ex. C언어, JAVA, PYTHON...)
  • 사람의 언어
    : 말 그대로 사람이 쓰는 언어

진법

: 0부터 n개의 숫자를 사용해 수를 표현하는 방법. 0~(n-1) 만큼 표현이 가능하다.

2진수, 8진수, 10진수, 16진수 등 다양하게 존재한다.

10진수

: 0부터 9까지 숫자를 사용해 수를 표현하는 방법. 사람이 사용한다.
왜? 손가락은 열 개니까...

2진수

: 0부터 1까지 숫자를 사용해 수를 표현하는 방법. 컴퓨터가 사용한다.
왜? 컴퓨터는 꺼짐과 켜짐만으로 대화하니까...

10진수 → 2진수


이미지로 대체합니다...

2의 보수

: 어떤 수를 커다란 2의 제곱수에서 빼서 얻은 이진수이다.

  • 모든 0과 1을 뒤집고 1을 더하면 보수를 구할 수 있다.

명령어

: 특정 작업을 수행하기 위한 컴퓨터 프로그램의 명령

여기서 변환할 때 쓰는 문장 또한 명령어이다.

변환 방식

컴파일 언어의 예씨로는 C언어, 인터프리터 언어의 예시로는 파이썬이 있다.
컴파일 언어는 파일을 통째로 변환, 인터프리터 언어는 한 줄씩 변환한다는 차이가 있겠다.

어셈블리어를 알아야 할까?

: 하드웨어와 맞닿아 있는 프로그램 개발에 사용되기에 알아두면 좋긴 하다.

  • 임베디드 개발
  • 게임 개발
  • 정보 보안 분야...

연산코드와 오퍼랜드

연산코드(opcode)

: 명령어가 수행할 연산을 의미한다. 아래와 같이 이루어져있다.

  • 데이터 전송
  • 산술/논리 연산
  • 제어 흐름 변경
  • 입출력 제어

오퍼랜드(주소필드)

: 연산에 사용할 데이터 또는 연산에 사용할 데이터가 저장된 위치를 의미한다. 아래와 같이 이루어져있다.

  • 즉시 주소 지정방식
  • 직접 주소 지정방식
  • 간접 주소 지정방식
  • 레지스터 주소 지정방식
  • 레지스터 간접 주소 지정방식
  • 묵시적 주소지정 방식, 스택 주소 지정방식
  • 변위 주소 지정방식 - 상대 주소 지정방식
  • 변위 주소 지정방식 - 베이스 레지스터 주소 지정방식

자료 구조

스택(STACK)

: 최근에 저장한 데이터를 먼저 사용하는 구조, LIFO(Last In First Out) 구조라고 부른다.

사용의 예시로는

  • 웹 브라우저 뒤로 가기
    : 가장 나중에 열린 페이지부터 뒤로 가기를 실행한다.
  • 문서 작업에서 Ctrl+Z
    : 가장 나중에 수정한 내역부터 되돌린다.
  • 역순 문자열 만들기
    : 맨 끝의 문자열부터 차례대로 만들어진다.
  • 후위 표기법 계산
  • 재귀적 알고리즘

등등이 있다.

큐(QUEUE)

: 먼저 저장한 데이터를 먼저 사용하는 구조, FIFO(First In First Out) 구조라고 부른다.

  • 선형 큐(Linear Queue), 환형 큐(Circular Queue)로 이루어져있다.

사용의 예시로는

  • 은행창구 번호표 대기
    : 빠른 번호표를 가진 사람이 먼저 업무를 본다.
  • 프린터 출력
    : 가장 먼저 대기열에 오른 프린트가 먼저 출력된다.
  • 너비 우선 탐색(BFS) 알고리즘

등등이 있다.


참고한 글

profile
배운 거 대충 정리하는 블로그

0개의 댓글