프로그래머스 데브코스 웹 풀사이클 22주차 5일차

geun·2024년 4월 11일
0

데브코스

목록 보기
77/79
post-thumbnail

실무에 쓰이는 CS 지식 기초

디지털 정보의 표현

디지털 vs 아날로그

디지털의 Digit은 수라는 뜻으로 0,1로 이루어져 있고, 아날로그는 연속적인 신호로 이루어져 있다.

컴퓨터에서의 정보의 표현 단위

비트

  • 컴퓨터에서 디지털 회로의 조합으로 표현할 때의 가장 작은 단위
  • 논리적으로 두가지 중 한가지 상태를 가지는 것
  • 컴퓨터에서 표현하는 모든 정보는 비트를 모아 이루어짐 (즉 이진수로 표현됨)
  • 이러한 이진 표현을 어떻게 해석하느냐에 따라 정수,실수,문자,이미지 등을 나타낸다
  • 바이트(Byte)는 8개의 비트를 모아서 만든 단위다.

이진수 체계

0과 1로 이루어짐 한 자릿수가 늘어나면 그 자릿수는 2의 n승만큼을 나타낸다
ex) 1001 = 1 x 2^3 + 0 x 2^2 + 0 x 2^1 + 1 x 2^0 = 9

16진수

4개의 비트를 모아 한 자리로 표현한다
0~9까지 표현후 그 이상은 A~F까지로 각각 10~15를 나타낸다.

코드

문자를 표현하기 위해 각 글자에 대해 대응하는 수를 연결하는 표를 코드라고 한다.
7비트의 이진 정수를 영어 대 소문자, 숫자, 특수기호 등에 할당한 표준코드를 ASCII Code(아스키 코드) 라고 한다.

컴퓨터에서의 데이터의 크기 단위

  • K (킬로) : 2^10 = 1,024 약 10^3 = 1,000
  • M (메가) : 2^20 = 1,048,576 약 10^6 = 1,000,000
  • G (기가) : 2^30 = 1,073,741,824 약 10^9 = 1,000,000,000
  • 그 외 테라, 페타, 엑사, 제타 등등... 작은 수로는 밀리 마이크로 피코 펨토 등이 있다.

이진수로 표현한 정수,실수

이진수의 합

자릿수를 맞춰 합한다.
ex)
135 + 62
= 1000111 + 00111110 = 11000101 = 197

1의 보수

주어진 이진수의 모든 비트를 0은 1, 1은 0으로 바꾼다
ex) 0101의 1의 보수는 1010이다.

2의 보수

주어진 이진수의 모든 비트를 0은 1, 1은 0으로 바꾸고 1을 더한다
ex) 0101의 2의 보수는 1011이다.
이러한 2의 보수는 뺄샘을 위해 사용한다
ex) 93 - 62 = 93 + (-62)
01011101 + 11000010 = (1)00011111(맨 앞자리 제외) = 31

이진 정수의 표현 범위

한 바이트(8 비트)를 이용해 표현할 수 있는 정수의 범위는?
-128 ~ 127 = -2^7 ~ 2^7-1
즉 n비트를 이용하면 -2^(n-1) ~ 2^(n-1) - 1의 정수를 표현할 수 있다.

정수가 아닌 수의 표현

실수

  • 고정소수점 방식
  • 부동소수점 방식 : 일반적으로 시간이 더 걸림, 정밀도에 한계가 있을수 있음

컴퓨터 연산 하드웨어

논리게이트

  • NOT : 부정을 나타냄
XNOT X
01
10
  • AND : 둘의 교집합을 나타냄
XYX AND Y
000
010
100
111
  • or : 둘의 합집합을 나타냄
XYX AND Y
000
011
101
111

그 외 NOR, NAND, XOR, XNOR 등이 있다.

튜링 기계와 폰 노이만 컴퓨터

컴퓨터의 발명

  • 컴퓨터는 누군가의 의해 발명되었다기보단 기술 발전에 따라 "출현" 했다고 보는게 더 적절할 수도있다.
  • 하지만 현재의 컴퓨터가 그 모습을 갖추는 데 결정적 역할을 한 인물들 이 있는데 Alan Turing과 John von Neumann이 있다.

튜링 기계

  • 추상화된 범용 계산기 : 상태 기록이 가능한 종이 테이프와 여기에 기호를 쓸 수 있는 장치로 이루어짐
  • 모든 컴퓨터 알고리즘을 실현할 수 있음이 수학적으로 증명되어 있다.

폰 노이만 컴퓨터

  • Stored-program computer
  • UTM (universal Turing machine)의 모델을 전기/전자 회로를 이용해 실현했다.

0개의 댓글