[F-Lab 66해빗 페이백 챌린지 ]

[F-Lab 모각코 페이백 35일차] (CS) CHAPTER 2 데이터 표현과 디지털 논리

everydeveloper 2023. 7. 20. 14:06

인간은 10진수,  컴퓨터는 2진수

 

학습 목표

  • 진법의 종류와 진수 변환 방법을 알아본다.
  • 컴퓨터에서 문자, 정수, 실수의 표현 방법을 알아본다.
  • 불 대수의 개념과 관련 법칙을 알아본다.
  • 게이트의 동작 과정과 이를 결합한 논리회로에 대해 알아본다.
  • 간단한 논리회로인 반가산기를 직접 설계해본다.
  • 1비트 정보를 저장하는 플립플롭에 대해 알아본다

 

TIL

  • 데이터 표현과 디지털 논리

 

 

 

수의 체계와 변환

  • 수의 체계: 진법을 이용해 수를 표현하는 체계. 2진법, 10진법, 16진법 등이 있다.
    • 진법: 수를 나타내는 데 사용하는 기호의 개수. 2진법은 0과 1, 10진법은 0부터 9까지, 16진법은 0부터 9까지와 A부터 F까지의 합쳐진 16개의 기호를 사용한다.
      • 수의 체계: 진법에서 정한 자리수로 지정된 체계에서의 자릿 값. 예를 들어, 10진법에서 첫 번째 자리는 1의 자리, 두 번째 자리는 10의 자리이다.
  • 진수 변환: 진수 자리 수를 바꾸는 것.
    • 다른 진수 → 10진수: 다른 진법의 수를 10진법으로 변환하는 것.
    • 10진수 → 다른 진수: 10진법의 수를 다른 진법으로 변환하는 것.
    • 2진수 → 2^n진수: 2진법의 수를 2의 배수 자릿 수로 변환하는 것.
    • 2^n진수 → 2진수: 2의 배수 자릿수로 표현된 수를 2진법으로 변환하는 것.

정보의 표현

  • 컴퓨터의 정보 표현 방식: 문자, 정수, 실수 등을 2진법으로 표현하는 것.
  • 문자 표현: 문자를 2진법으로 표현하는 것.
    • 아스키 코드: 미국 정보 교환 표준 부호로, 7비트로 128개의 문자를 표현한다.
    • 유니코드: 전 세계의 모든 문자를 다루도록 설계된 표준 문자 전산 처리 방식으로, 21비트로 2의 21제곱(약 200만)의 문자를 표현한다.
    • 텍스트 압축: 압축 기술을 이용하여 문자를 압축하는 것.
  • 정수 표현: 정수를 2진법으로 표현하는 것.
    • 정수 표현 방식: 2의 보수 방식을 사용한다.
    • 정수 덧셈: 2진법으로 표현된 두 수의 각 자리수를 더한다.
    • 정수 뺄셈: 2진법으로 표현된 두 수의 각 자리수를 빼는 것으로, 음수를 양수로 바꾸어 더한다.
  • 실수 표현: 실수를 2진법으로 표현하는 것.
    • 실수 표현 방식: 소수점부를 가지고 있는 수를 실수로 표현한다.
    • 실수 덧셈과 뺄셈: 더하기나 빼기 연산을 수행하기 전에 두 수의 지수를 같게 맞춘 후, 가수의 덧셈/뺄셈을 수행한다. 그 후, 결과를 정규화시키고 가수의 자리를 조절한다.

불 대수와 디지털 논리

  • 불 대수 연산
    • 불 대수는 명제 논리를 수식으로 나타내기 위한 수학 분야로, 0과 1로 이루어진 논리값을 다룬다. 불 대수 연산은 이 논리값을 다루는 연산으로, 대표적으로 OR, AND, NOT 연산이 있다.
    • OR 연산
      • OR 연산은 논리합을 의미하는 연산으로, 입력 중 하나 이상이 1이면 1을 출력한다. 따라서 0과 0이 입력되면 0을 출력하고, 0과 1, 1과 0, 1과 1이 입력되면 1을 출력한다.
      • OR 게이트는 OR 연산을 수행하는 게이트이다.
      • 기호로는 +를 사용한다.
    • AND 연산
      • AND 연산은 논리곱을 의미하는 연산으로, 입력 중 모든 비트가 1이면 1을 출력한다. 따라서 0과 0, 0과 1, 1과 0이 입력되면 0을 출력하고, 1과 1이 입력되면 1을 출력한다.
      • AND 게이트는 AND 연산을 수행하는 게이트이다.
      • 기호로는 &를 사용한다.
    • NOT 연산
      • NOT 연산은 논리부정을 의미하는 연산으로, 입력값을 반대로 바꾸어 출력한다. 따라서 0이 입력되면 1을 출력하고, 1이 입력되면 0을 출력한다.
      • NOT 게이트는 NOT 연산을 수행하는 게이트이다.
      • 기호로는 '를 사용한다.
  • 불 대수 법칙
    • 드 모르간 법칙
      • 드 모르간 법칙은 NOT 연산과 OR, AND 연산을 복합적으로 이용하여 식을 간단하게 나타내는 법칙이다.
      • (A+B)' = A'B'
      • (AB)' = A' + B'
    • 분배 법칙
      • 분배 법칙은 곱셈과 덧셈 간의 관계를 나타내는 법칙이다.
      • A(B+C) = AB + AC
      • A+BC = (A+B)(A+C)
  • 게이트
    • 논리회로에서 가장 기본이 되는 회로를 게이트라고 한다. 게이트는 입력값을 받아 출력값을 내보내는 역할을 수행한다.
    • OR 게이트
      • OR 게이트는 OR 연산을 수행하는 게이트이다. 입력 중 하나 이상이 1이면 1을 출력한다.
      • OR 게이트는 논리합을 구하는 데 사용된다.
      • 기호로는 +를 사용한다.
    • AND 게이트
      • AND 게이트는 AND 연산을 수행하는 게이트이다. 입력 중 모든 비트가 1이면 1을 출력한다.
      • AND 게이트는 논리곱을 구하는 데 사용된다.
      • 기호로는 &를 사용한다.
    • NOT 게이트
      • NOT 게이트는 NOT 연산을 수행하는 게이트이다. 입력값을 반대로 바꾸어 출력한다.
      • NOT 게이트는 논리부정을 구하는 데 사용된다.
      • 기호로는 '를 사용한다.
    • XOR 게이트
      • XOR 게이트는 두 개의 입력값이 같으면 0을 출력하고, 다르면 1을 출력한다.
      • XOR 게이트는 배타적 논리합을 구하는 데 사용된다.
      • 기호로는 ⊕를 사용한다.
    • NOR 게이트
      • NOR 게이트는 OR 게이트의 출력값을 NOT 게이트에 입력하여 출력값을 반대로 바꾼 것과 같다.
      • NOR 게이트는 논리합의 부정을 구하는 데 사용된다.
    • NAND 게이트
      • NAND 게이트는 AND 게이트의 출력값을 NOT 게이트에 입력하여 출력값을 반대로 바꾼 것과 같다.
      • NAND 게이트는 논리곱의 부정을 구하는 데 사용된다.
  • 논리회로
    • 논리회로는 논리 게이트를 연결하여 어떤 조건에 따라 출력값을 결정하는 회로이다.
    • 논리회로 예
      • 논리회로: 논리 게이트를 연결한 회로
      • 진리표: 논리회로의 입력값과 출력값의 대응 관계를 나타낸 표
      • 논리식: 논리회로의 동작을 수식으로 나타낸 것
    • 가산기 설계
      • 블록도 구상: 가산기의 구성 요소를 블록으로 구성하여 동작 방식을 이해한다.
      • 진리표 작성: 가산기의 입력값과 출력값의 대응 관계를 나타낸 표를 작성한다.
      • 논리식과 논리도 작성: 가산기의 동작을 수식과 그림으로 나타내어 설계한다.
    • 플립플립
      • 컴퓨터에서 1비트의 정보를 저장하는 회로를 플립플롭이라고 한다. 플립플롭은 논리회로에서 레지스터나 카운터 등 여러 회로에서 사용되는 중요한 부품 중 하나이다.