[컴정개론] 컴퓨터에서의 데이터 표현

2023. 4. 3. 23:502023/컴퓨터및정보보호개론

서울여자대학교 정보보호학과 김성욱 교수님의 컴퓨터및정보보호개론 수업을 듣고 작성한 요약본입니다.

교재: 컴퓨터의 이해 (3판), 김명주 외


  •  숫자
    • 인간은 10진법을 사용
      • 0~9
    • 컴퓨터는 2진법을 사용함
      • 0~1
      • 1bit = 0 또는 1
      • 2^3 = 1Byte
      • 2^10 = 1024 = 1Kb
      • 2^20 = 1Mb
      • 2^20 = 1Gb
      • 사람이 알아보기 힘듬 → 8, 16진법을 이용하여 보여
    • 8진법
      • 3개의 비트 단위로 정보를 끊어서 표현할 때 유용함
      • 0~7
    • 16진법
      • 0~F
      • 4bit 단위로 정보를 끊어서 표현할 때 유용
      • 16진수 앞에는 0x를 씀
    • 소수점 밑의 숫자들을 2, 8, 16진법으로 변경하기
      • 소숫점 아래의 숫자들을 모두 0으로 만들어줄 때 까지 2, 8, 16을 곱해주고, 1의 자리 숫자를 기록함
      • 기록했다면 1의 자리 숫자를 날림
    • 보수
      • 숫자 n : N진법에서 m자리 숫
      • n에 대한 N의 보수 = N^m - n
      • n에 대한 N-1의 보수 = (N^m-1) -n
      • 십진수 n에 대한 보수
        • 십진수 7에 대한 10의 보수 = 3
        • 십진수 7에 대한 9의 보수 = 2
        • 십진수 45에 대한 10의 보수 = 55
        • 십진수 45에 대한 9의 보수 54
        • e.g. 9의 보수 만들기 : 각 자릿수의 숫자를 9에서 빼냄
        • 10의 보수 만들기 : 9의 보수에서 1을 더함
      • 이진수 n에 대한 보수
        • 이진수 1에 대한 2의 보수 = 1
        • 이진수 1에 대한 1의 보수 = 0
        • 이진수 101101에 대한 2의 보수 = 010011
        • 이진수 101101에 대한 1의 보수 = 010010
        • 1의 보수는 1에서 각 자리수를 빼냄
        • 2의 보수는 1의 보수에서 최하위비트에 1을 더함
    • 음수의 표현
      • 부호-절댓값 방법
        • 8비트 이진수에서 제일 첫번째 자리에 양수(0), 음수(1) 표시를 해준 후 7비트 수를 표현
        • n비트 수의 표현 범위: -2^n-1 ~ 2^n-1
      • 1의 보수 방법
        • 8비트 이진수에서 제일 첫번째 자리에 양수(0), 음수(1) 표시를 해준 후 7비트 수를 1의 보수 방법으로 표현
        • 음수의 경우 양수로 생각하고 2진수 변환 후, 1의 보수 방법으로 표현해줌
      • 2의 보수 방법
        • 8비트 이진수에서 제일 첫번재 자리에 양수(0), 음수(1) 표시를 해준 후 7비트 수를 2의 보수 방법으로 표현해줌
        • 1의 보수방법과 마찬가지로 음수의 경우 양수로 생각하고 2진수로 변환, 1의 보수화 후 1을 더해줌
        • n비트 수의 표현 범위: -2^n-1 ~ 2^(n-1) - 1
  • 문자
    • 데이터 표현 원리
      • 컴퓨터는 디지털 논리회로에 기반하여 두가지 상태만 구별함
      • 0이거나 1인 상태만 인식 (1bit = binary digit)
      • 0과 1로만 이루어진 신호로 만들어 컴퓨터에게 전달
      • 인코딩 ↔ 디코딩
        • 현실의 정보를 컴퓨터 내부에서 처리할 수 있는 이진수로 변환하는 방법
        • 사람이 사용하는 문자들은 이진수 신호로 변환 후 컴퓨터 내부에 전달됨
    • 데이터 용량
      • 1 bit = 0 또는 1
      • 1 byte = 8 bit
        • 1 half-word = 2 bytes
        • 1 full-word = 4 bytes
      📒 bit < Byte < KB < MB < GB < TB < PB < EB < ZB < YB
    • 문자의 표현
      • 26개의 영문 알파벳을 디지털 신호로 연결하려면?
        • 2^4=16, 2^5=32 → 최소 5비트가 필요함
      • ASCII 코드
        • 특징
          • American Standard Code for Information Interchange
          • 영문 알파벳을 사용하는 대표적인 문자 인코딩
          • 컴퓨터 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용함
          • 대부분의 문자 인코딩 아스키에 기초를 둠
          • 1967년 표준으로 제정
          • 1986년 마지막으로 개정
        • 구성
          • 7 bit 인코딩으로 128개의 문자들을 표현함
          • 33개의 출력 불가능한 제어문자들과 공백
          • 95개의 출력 가능 문자들
            • 52개의 영문 알파벳 대소문자
            • 10개의 숫자
            • 32개의 특수문자(구두점)
            • 1개의 공백
      • EBCDIC
        • Extended Binary Coded Decimal Interchange Code
        • IBM이 운영체제에서 사용하기 위해 개발한 알파벳/숫자를 위한 코드
        • 8비트 인코딩으로 256개의 문자들을 표현
      • UNICODE
        • 전 세계 나라별 언어를 모두 표현하기 위한 코드 체계
        • IBM 애플, HP, IBM, Sun, MS, Oracle과 같은 업계에서 채택되었으며, XML, 자바, ECMAScript, LDAP, CORBA 등의 표준에서 사용되고 있음
        • 한글은 AC00부터 D7A3까지 총 11172자를 표현
          • 초성 19, 중성 21, 종성 28개를 곱한 값임
          • 한글 우니코드의 첫 시작 주소: 0xAC00
          • 임의의 한글에 대한 유니코드 주소를 찾는 방법
            • (초성인덱스*21+중성인덱스)*28 + 종성인덱스 + 0xAC00
    • 숫자의 표현
      • BCD 코드
        • Binary-Coded Decimal Code
        • 10진수의 각 자리를 4비트 이진수를 이용하여 표현한 코드
      • Gray 코드
        • BCD 코드처럼 10진수의 각 자리를 4비트 이진수를 이용하여 표현
        • 다만 연속된 숫자에 대한 코드 간에 오직 1비트만 바뀌도록 함
      • Excess-3 코드
        • BCD 코드처럼 10진수의 각 자리를 4비트 이진수를 이용하여 표현
        • 다만 BCD 코드 각자리에 3씩 더함
  • 논리
    • 디지털 논리 게이터
      • cpu에서 수많은 연산처리를 위해 내부적으로 활용함
      • AND, OR, NOT, NAND, NOR, XOR 등
      • 조합 논리게이트는 입력과 출력을 가진 논리게이트의 집합으로 현재의 입력값에 따라 출력이 결정되는 회로임
    • 불대수
      • 특징
        • 1848년 영국의 수학자 불이 제안함
        • 논리값이 참일 때 1(+5v), 거짓일 때 0(0v)을 대응시켜 논리학상의 명제나 명제의 관계를 수학적으로 표현함
        • 오늘날 논리회로를 다루는데 유용하게 사용
        • 통신분야 및 컴퓨터의 논리회로 설계 분야 등에서 널리 응용됨
      • 불대수 연산
        • 기본 연산
          • 논리곱(and)0 * 0 0
            0 * 1 0
            1 * 0 0
            1 * 1 1
          • 논리합(or)0 + 0 0
            0 + 1 1
            1 + 0 1
            1 +1 1
          • 논리부정(not)0 1
            1 0
            0 1
          • 드모르간의 법칙
            • 수학자 오거스터스 드모르간에 의해 정리된 법칙
            • 여집합, 합집합, 교집합의 관계를 기술하여 정리
          • 논리회로

  • 소리와 영상
    • 자연세계의 소리
      • 아날로그로 표현됨
      • 일종의 파동이라고 볼 수 있으며, 시간에 따라 변화함
      • 연속적인 곡선의 형태를 띔
    • 자연의 데이터를 디지털 신호로 바꾸려면?
      • 양자화와 표본화 과정을 거쳐야 함
      • 연속적인 데이터로부터 근사한 이산적인 데이터값을 얻음
      • 원래 정보의 일부가 손실됨
    • 영상데이터의 표현
      • 영상은 수많은 픽셀 단위로 표현
      • 각 픽셀에 특정 색상 값을 부여함(비트맵 vs 벡터)
      • 영상의 해상도롤 높이는 방법?
        • 하나의 영상을 표현하기 위한 픽셀의 단위를 더욱 세분화시킴
        • 하나의 픽셀에 표현되는 색상 정보값을 더 많이 담을 수 있도록 비트 수를 늘림
        • 파일 용량을 크게 만듦
      • 코덱?
        • COder(부호화, 변조)/DECoder(부호번역화, 복조) 또는 COmpression(압축)/DECompression(해제)를 줄여 이야기함
        • 영상이나 음성 등의 아날로그 데이터를 양자화, 표본화 과정을 거쳐 컴퓨터가 처리하기에 적합한 디지털 데이터로 변환(변조)
        • 역으로 디지털 데이터를 아날로그 데이터로 변환(복조)
        • 국제 표준화가 안되어 압축방법, 화질, 압축률 등이 다르고 호환성이 없음
        • 개별 코덱 설치가 필요하지만 한꺼번에 설치해주는 통합 코덱도 있음
        • 동영상 코덱
          • HEVC(H.264), H.265, FFmpeg, MPEG-4, DivX Pro Code, Window Media Encoder, Svid 등
          • Container Format
            • MPEG(1, 2, 4), 인텔 Indeo, RM, Cinepak, Move, ASF, RA, XDM, RLE, AVI 등
        • 오디오 코덱
          • FLAC, ALAC, WMAL, Dolby True HD 등
          • Container Format
            • MP3, OGG, FLAC, AC3, DTS, AAC, WMA