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

Eunjeon_g·2023년 10월 9일
0
post-thumbnail

🔢숫자 표현

1. 정보 단위

1.1. 비트

0과 1을 표현하는 가장 작은 정보 단위

1 Byte ➡️ 8 Bit
1 KB ➡️ 1,000 Byte
1 MB ➡️ 1,000 KB
1 GB ➡️ 1,000 MB
1 TB ➡️ 1,000 GB

이전 단위를 1024개씩 묶은 단위 : KiB, MiB...

1.2. 워드(word)

  • CPU가 한 번에 처리할 수 있는 정보의 크기 단위
  • 한 번에 32bit씩 처리 가능 ➡️ 1워드 = 32bit
  • 하프워드 : 워드의 절반
  • 풀 워드 : 워드 크기
  • 더블 워드 : 워드의 두 배

2. 2진법

0과 1로 수를 표현하는 방법

2.1. 음수 표현

  • 2의 보수로 표현

1) 어떤 수를 그보다 큰 2ⁿ에서 뺀 값

11(2) ➡️ 110(2) - 11(2) = 01(2)

2) 모든 0과 1을 뒤집고 1을 더한 값

11(2) ➡️ 00(2) + 1(2) = 01(2)

플래그 레지스터를 통해 음수, 양수 구분 가능

3. 16진법

0~9, 알파벳으로 표기

10 ➡️ A
11 ➡️ B
12 ➡️ C
13 ➡️ D
14 ➡️ E
15 ➡️ F

4. 2진법과 16진법

  • 2진법 16진법으로 변환하기

    4자리씩 끊어서 계산
    11010101(2) = 1101/0101 ➡️ D5(16)

  • 16진법 2진법으로 변환하기

    4자리로 풀어서 계산
    1A2B(16)
    1 = 0001(2)
    A = 1010(2)
    2 = 0010(2)
    B = 1011(2)
    ➡️ 0001101000101011(2)


✒️문자 표현

  • 문자집합
    컴퓨터가 이해할 수 있는 문자 모움
  • 인코딩
    코드화 하는 과정 (문자를 0과 1로 이루어진 코드로 변환하는 과정)
  • 디코딩
    코드를 해석하는 과정 (0과 1로 표현된 문자코드를 문자로 변환하는 과정)

1. 아스키코드

  • 알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자
  • 7bit로 하나의 문자 표현 ➡️ 2의 7제곱 = 128개의 문자 표현 가능
  • 8bit 중 1bit는 오류 검출을 위한 패리티 비트(parity bit)

    인코딩 값

    A ➡️ 65
    a ➡️ 97

📌패리티 비트

저장된 데이터에서 1bit의 오류를 검출하는 방식.

  • 짝수 패리티 비트
  • 홀수 패리티 비트

    만약 짝수 패리티 비트일 경우 1의 개수가 짝수개인지 확인
  • 1111000(2)일 경우 1의 개수가 짝수개 이므로 맨 오른쪽에 0을 추가함 ➡️ 11110000(2)
  • 만약 다음과 같이 01110000(2)으로 잘못 저장되었을 때 1의 개수가 홀수개 이므로 1bit가 잘못되어있음을 파악할 수 있음.
즉, 짝수 패리티 비트라면 1의 개수를 짝수개로 맞춰주고, 홀수 패리티 비트라면 1의 개수를 홀수개로 맞춰줌. 이를 통해 1bit가 잘못되어 있는지 확인할 수 있게함.
1bit 이상의 오류는 검출하지 못한다는 단점이 있음
  • 한글을 포함한 다른 언어 문자, 특수 문자 표현 불가 ➡️ 8bit 확장 아스키 등장

2. 한글 표현

  • 조합형 인코딩

    ㅇ + ㅣ + ㅌ + ㅐ + ㅁ + ㅣ + ㄴ

  • EUC-KR : 완성형 인코딩

    이 + 태 + 민

한글을 위한 것...이 단점

3. 유니코드와 UTF-8

  • 통일된 문자 지합
  • 한글, 영어, 특수문자, 이모티콘 표현 가능
  • 가변 길이 인코딩 : 1~4 바이트

0개의 댓글