본문 바로가기
728x90

Chap2 데이터

생성 일시: 2023년 8월 10일 오후 8:47

  • 0과 1로 숫자를 표현하는 방법
  • 0과 1로 문자를 표현하는 방법

02 데이터

02-1. 0과 1로 숫자를 표현하는 방법

컴퓨터가 이해하는 정보 단위, 이진법과 십육진법을 통해 다양한 숫자를 표현하는 방법에 대해 학습

정보 단위

0과 1을 나타내는 가장 작은 정보 단위: 비트 bit → 2가지 정보 표현

N개의 비트로 표현할 수 있는 정보는 $2^N$ 가지

Data

이진법

0과 1로 숫자를 표현하는 방식. 이건 14살에 배웠다….

******이진수 표기******

  • 1000(2) : 수학적으로 표기할 때
  • 0b1000 (binary) : 코드 상에서 이진수 표현할 때

이진수의 음수 표현

마이너스 부호를 사용하지 않고 음수를 표현하려면?

******2의 보수 구하기 (two’s complement)******

보수란? 어떤 수를 그보다 큰 $2^n$에서 뺀 값

ex) 11(2) 의 2의 보수는 100(2) - 11(2) = 01(2)

or 모든 0과 1을 뒤집고, 거기에 1을 더한 값

********보수를 쓴다 해도 양수인지 음수인지 어떻게 구분할까?********

컴퓨터 내부에서 어떤 수를 다룰 때 양수인지 음수인지 구분하기 위해 플래그를 사용한다. 그래서 컴퓨터가 헷갈일 일은 없다…. → 우리는? ㅠㅠ

++ 2의 보수 표현의 한계

보수를 취했을 때 자신과 같은 결과가 나오는 경우가 있음. ex) 1000(2)

십육진법

이진법을 이용해 0과 1로 숫자를 표현하면 숫자가 너무 길어진다는 단점 발생!

→ 십육진법(hexadecimal)으로 숫자를 표현

0, 11, 12, 13, 14, 15를 각각 A, B, C, D, E, F로 표현

숫자 뒤에 아래 첨자 (16)을 붙이거나 숫자 앞에 0x를 붙여 구분한다

************십육진수을 이진수로 변환하기************

십육진법은 한 글자당 열여섯 종류 숫자를 표현할 수 있다. 이를 이진수로 바꾸려면 4비트가 필요하다.

십육진수 한 글자는 4비트의 이진수이기 때문에 한 글자씩 이진법으로 변환한다.

******이진수를 십육진수로 변환하기******

이진수 숫자를 네 개씩 끊고, 끊어 준 네 개의 숫자를 하나씩 십육진수로 변환하고 이어붙인다.

++ 하드웨어와 관련 있는 분야에서는 코드에 직접 십육진수를 쓰기도 한다.

02-2. 0과 1로 문자를 표현하는 방법

문자 집합과 인코딩

********문자 집합********

컴퓨터가 이해할 수 있는 문자의 모음

************문자 인코딩************

문자를 0과 1로 변환하는 과정

**********문자 디코딩**********

0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정

728x90

'Computer Science > 컴퓨터구조' 카테고리의 다른 글

Chap7 보조기억장치  (0) 2023.09.21
Chap4 CPU의 작동 원리  (0) 2023.08.30
Chap3 명령어  (0) 2023.08.20
Chap1 컴퓨터 구조 시작  (0) 2023.08.15

개발자 연습생