[혼공컴운_1주]Chapter2 데이터

study_record·2024년 1월 5일
0

혼공컴운

목록 보기
2/17

정보단위

  • 비트 : 0, 1을 나타내는 가장 작은 정보단위
    1바이트 = 8비트

  • 단위단위
    1비트
    1바이트(1byte)8비트(8bit)
    1킬로바이트(1kB)1000바이트(1000byte)
    1메가바이트(1MB)1000킬로바이트(1000kB)
    1기가바이트(1GB)1000메가바이트(1000MB)
    1테라바이트(1TB)1000기가바이트(1000GB)
  • 워드(word)

    • CPU가 한번에 처리할수 있는 데이터 크기를 의미함
    • 하프워드, 풀워드(1배 크기), 더블워드(2배 크기)
    • 현재워드는 대부분 32비트, 64비트임

이진법

  • 이진법 : 0,1로 모든 숫자를 표현하는 방법
  • 이진수 표기 : 1000(2)<수학적 표기방법>, 0b1000<코드상 표기방법>
  • 이진수 음수는 2의보수를 구해서 표현함
  • 2의보수로 바꾸는 방법
    1) 어떤수를 그 보다 큰 2n에서 뺸값
    2) 모든 0과 1을 뒤집고 거기에 1을 더한값
  • 플래그 : 부가정보가 필요한 경우 사용. 양수와 음수정보를 적음

십육진법

  • 이진법만 사용하면 숫자가 길어지는 단점을 보안하기위해 십육진법 사용
  • 십육진수와 이진수는 서로 변환이 쉽기 때문에 사용함
  • 0-9, A(10),B(11),C(12),D(13),E(14),F(15)를 사용해서 표기함
  • 십육진수 표기 : 12(16)<수학적 표기방법>, 0x15<코드상 표기방법>

십육진수 → 이진수

  • 십육진수 한글자를 4비트로 바꿈
  • 1A2B(16)를 이진수로 바꾸기
    • 1 → 0001(2)
    • A → 1010(2)
    • 2 → 0010(2)
    • B → 1011(2)
    • 1A2B(16) → 0001/1010/0010/1011 (2)

이진수 → 십육진수

  • 이진수를 네개씩 끊어서 십육진수로 바꾸기
  • 11010101(2)를 십육진수로 바꾸기
    • 1101(2) → D(16)
    • 0101(2) → 5(16)
    • 11010101(2) → D/5(16)

문자집합

  • 컴퓨터가 인식하고 표현할수있는 문자의 모음

문자인코딩

  • 문자를 0,1로 변환하는 것

문자디코딩

  • 0,1로 이루어진 코드를 사람이 이해하는 문자로 변환하는 것

아스키코드(ASCII)

  • 영어알파벳, 숫자, 일부특수문자가 포함됨
  • 7비트로 표현됨 → 총 128개 문자 표현가능함
  • 이스키코드 : 아스키 문자에 대응된 고유한 수
  • 확장 아스키 : 더 많은 문자를 표현하기위해 아스키코드에 1비트를 추가하여 8비트 아스키(총 256개 표현)

한글인코딩 방식

  • 완성형 인코딩 : 초성, 중성, 종성으로 이루어진 글자에 코드를 부여하는 방식
  • 조합형 인코딩 : 초정, 중성, 종성 각 비트열을 할당하여 비트열을 조합하여 글자를 완성하는 방식

EUC-KR

  • 대표적 완성형방식
  • 초성, 중성, 종성이 결합된 한글단어에 2바이트의 코드를 부어
  • 총 2350개 한글단어를 표현가능함
  • 문자집합에 정의 되지않는 글자는 표현할수 없음(ex.믜, 쀓등) → 더 많은 문자표현을 위해 CP949를 사용함

유니코드

  • EUC-KR보다 다양한 한글, 대부분 문자, 특수문자, 이모티콘 표현가능 함
  • 인코딩 방식 종류: UTF-8, UTF-16, UTF-32
  • UTF-8
    • 인코딩 결과가 1바이트, 2바이트, 3바이트, 4바이트가 될 수 있음
    • 유니코드 문자에 부여된 값의 범위에 따라서 결정됨

📚마무리 문제

P.64-65

1번 2000MB는 몇 GB인가? 2GB
2번 다음 중 틀린것은? (4)번
1) 1000GB는 1TB와 같다
2) 1000kB는 1MB와 같다
3) 1000MB는 1GB와 같다
4) 1024bit는 1byte와 같다

3번 1101(2)의 음수를 2의 보수 표현법으로 구하라 0011(2)

1101(2) → 0010(2)0011(2)

4번 DA(16)을 이진수로 표현하라 11011010(2)
D → 13 →1101
A → 10 →1010
5번 이진수와 더불어 십육진수가 많이 사용되는 이유는 무엇인가? (1)번
1) 이진수와 십육진수 간의 변환이 쉽기 떄문이다
2) 십육진수에 비해 이진수로 표현되는 글자 수가 일반적을 적기 때문이다
3) 십육진수가 십진수보다 일상적으로 더 많이 사용되기 때문이다
4) 컴퓨터는 이진수를 이해하지 못하기 때문에

P.75

1번 아스키코드 표를 참고하여 아래를 디코딩 하라 hongong

104 111 110 103 111 110 103 → hongong

2번 다음중 EUC-KR 인코딩에 대한 설명중 틀린것을 고르시오 (2)번
1) 한국어로 표현할수 있는 인코딩 방식이다
2) 조랍형 인코딩 방식이다
3) 하나의 완성된 한글 글자에 코드를 부여한다
4) 모든 한글을 표현할 수 없다

3번 유니코드 문자 집합에 '안'에 부여된 값은 C548(16) '녕'에 부여된값은 B115(16)이다. '안녕'을 UTF-8로 인코딩한 값은?
안녕 → 111011001001010110001000(2)111010111000010110010101(2)

C548(16) →111011001001010110001000(2)
B115(16) →111010111000010110010101(2)

0개의 댓글