본문 바로가기

프로그래머스 데브코스

[클라우딩 어플리케이션 엔지니어링 TIL] 1. 디지털 정보의 표현

1.학습 주제

  • 컴퓨터 과학(Computer Science)를 공부하는 이유
  • 디지털 정보를 표현하는 단위
  • 문자 등을 이진법으로 표현하는 방법
  • 이진법으로 음수와 실수를 표현하는 방법
  • 논리연산과 논리회로

2.주요 메모 사항 소개

    • 컴퓨터 과학(Computer Science, CS)를 공부하는 이유
      • 급속도로 성장해나간 사고 체계를 따라가면서 논리적/체계적 사고를 익히며 문제 해결 위주 접근법 체득
      • 응용에 있어서 보다 깊이 있는 이해를 도모할 수 있는 체계적 바탕
      • 전공자들과 비슷한 기술적 토대 위에서 대화하고 나의 생각을 표현
      • 면접에서 일정 정도의 틀을 갖춘 답변 가능
    • 디지털 정보를 표현하는 단위
      • 비트(bit,Binary digit) 정보를 표현할 때 이용하는 가장 작은 단위, 표현가능 범위는 1~0.
      • 바이트(byte) 8개의 비트를 모아서 만든 단위, 표현가능 범위는 255(28-1)~0.
      • 키비바이트(KiB, 210X1Byte) SI단위와 이진 접두어를 분리하기 위해 생겨난 단위.
    • 문자 등을 이진법으로 표현하는 방법
        • ASCII 코드: 7비트를 이용해 영문 대소문자, 숫자 특수기호 등에 숫자를 할당한 코드
      ASCII 코드표
      • 만약 7비트보다 문자가 많은 한글이나 한자의 경우 어떻게 하는가? A) Unicode(유니코드, 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준)
    • 이진법으로 음수와 실수를 표현하는 방법
      • 음수 표현 방식
        1. 1의 보수: 이진수의 1를 0으로 0을 1로 바꾸면 되는 방식. ex) 1010(2) →0101(2)
        2. 0의 보수: 이진수를 1의 보수한 값에서 +1하는 방식. ex) 1010(2)  →0110(2)
        3. 2의 보수의 경우 -0을 나타낼 필요가 없기 때문에 컴퓨터에서 채용.
      • 실수 표현 방식
        1. 고정소수점(fixed-point)방식: 10진수를 2진수로 바꾸고 그대로 넣는 방식, 구현하기 편리하나 비트 수 대비 표현 가능한 수의 범위 또는 정밀도가 낮다.
        2. 부동소수점(floating-point)방식: 10진수를 2진수로 바꾸고 정규화 시킨 값을 넣는 방식. 컴퓨터에서 실수를 표현할 때 사용. 

부동소수점

    • 논리연산과 논리회로
      • 논리연산: 참, 거짓 두가지 원소만 존재하는 집합에서 연산
      • 논리회로: 입력값에 따라 결과값이 결정되는 조합회로 

논리회로[1]

    • 가산기:논리 회로를 이용하여 만든 이진수 연산 처리기
    • ALU(Arithmetic Logic Unit): 논리회로를 이용하여 만든 컴퓨터 산술/논리 연산 수행. CPU의 중요한 역할

3. 공부하며 느낀 점

다른 지식들은 기반이 있어서 이해하기 쉬웠지만, 부동 소수점을 나타내는 방식을 이해하는 데 한참 오래 걸렸다.

4.출처

[1].https://ko.wikipedia.org/wiki/%EB%85%BC%EB%A6%AC_%ED%9A%8C%EB%A1%9C#cite_ref-1