Skip to content

Instantly share code, notes, and snippets.

@guosasipo
Created April 24, 2025 04:24
Show Gist options
  • Save guosasipo/00524113cb5ba4b1a80182196e84c1cc to your computer and use it in GitHub Desktop.
Save guosasipo/00524113cb5ba4b1a80182196e84c1cc to your computer and use it in GitHub Desktop.
컴퓨터공학 입문 중간

ICT 기술과 컴퓨터

ICT(Information Communication technology)

  • IT(정보) 기술 + CT(통신) 기술의 합성어

산업혁명

산업혁명 시기 특징
1차 18세기 후반 철도, 증기기관, 기계화, 기계를 사용한 제조업
2차 19세기 후반 전기, 컨베이어 벨트 도입으로 분업화, 대량생산
3차 1960 ~ 1990년대 컴퓨터 등장, 디지털 기술 등장으로 인한 자동화와 디지털화
4차 2000년대 중반 사물인터넷, 빅데이터, 3D 프린터 등장, 인터넷 상용화

컴퓨터

컴퓨터 특징

  • 신속성: 빠르고 신속한 정보 처리
  • 정확성: 오류나 오차 최소화하여 계산
  • 자동성: 전체 처리과정 자동화
  • 대량성: 대량의 데이터 처리 및 저장

컴퓨터 구성 요소

하드웨어

종류 구성 요소
입력 키보드, 마우스
출력 모니터, 스피커
기억 캐시 메모리, SRAM(캐시 메모리의 종류), 주기억장치(DRAM), 보조기억장치(HDD, CD 등.)
CPU ALU(산술논리연산장치), CU(제어장치), 레지스터

소프트웨어

종류 예시
응용 소프트웨어 문서 프로그램, 브라우저, 게임 등.
시스템 소프트웨어 운영체제, 컴파일러, 어셈블러

컴퓨터의 역사

기계식 계산기

  • 최초의 기계식 수동 계산기: 블레즈 파스칼
  • 사칙연산이 가능한 기계식 수동 계산기: 고트프리트 라이프니츠
  • 차분기관, 해석기관(현재 컴퓨터의 기본 요소 갖춤): 찰스 배비지(컴퓨터의 아버지)
  • 천공카드: 조셉 마리 자카드

전자식 컴퓨터

  • 튜링머신(기계 실행과 데이터 저장이 되는 추상적인 계산 모델): 앨런 튜링(컴퓨터 과학의 아버지) - 현대의 컴퓨터 기본 개념 제시
  • 세계 최초의 전자식 컴퓨터: ABC
  • 세계 최초의 전자기계식 컴퓨터: 마크원 - 해석기관이 실제로 구현됨

에니악 에드삭 에드박 유니박

  • 표 순서대로 나옴
이름 사용 진법 프로그래밍 방식 용도
에니악 10진법 외장 프로그래밍 탄도 계산
에드삭 10진법 내장 프로그래밍 -
에드박 2진법 내장 프로그래밍 -
유니박 1 2진법 내장 프로그래밍 대선 결과 예측

개인용 컴퓨터

  • 초 고밀도 집적 회로 등장으로 가능해짐

인터넷

  • 미국 고등군사연구계획국(ARPA)에서 시작한 프로젝트
  • WWW(World Wide Web) 개발로 전세계로 확장

모바일 컴퓨팅

3가지 기반 기술 필요

  • 고속 네크워크
  • 모바일 하드웨어
  • 모바일 소프트웨어

컴퓨터 발전 역사

세대 년도 소자 종류 입출력, 저장장치치
1세대 1950년대 초 진공관 입출력: 천공 카드, 저장 장치: 자기 드럼
2세대 1950년대 말 트랜지스터 저장 장치: 자기디스크
3세대 1960년대 말 집적회로(IC) -
4세대 1970년대 초 ~ 현재 초고밀도집적회로(VLSI) -

컴퓨터의 종류

  • 슈퍼컴퓨터
  • 대형컴퓨터
  • 워크스테이션
  • 개인용 컴퓨터(PC)
  • 휴대용 컴퓨터
  • 임베디드(아두이노, 라즈베리파이)

컴퓨터의 활용 분야

  • 과학기술: 항공우주, 이동통신
  • 제조업: 로봇, 자동차, 스마트 가전, 해양조선
  • 금융: 폰뱅킹, 암호화폐(블록체인 기반으로 만든 화폐, 대표적으로 사토시 나카모토가 만든 비트코인이 있음)
  • 상업: 오픈마켓
  • 의료
  • 교육: 싸강, MOOC

미래 컴퓨팅

  • 클라우드 컴퓨팅
  • 사물 인터넷: 센싱 기술, 유무선통신 기술, 서비스 인터페이스 기술, 보안 기술
  • 인공지능
  • 로봇
  • 드론
  • 자율주행 자동차

부정적인 요소

  • 컴퓨터 범죄
  • 지나친 의존성
  • 컴퓨터 오남용
  • 실업
  • 건강 위협

데이터 표현과 논리회로

수의 체계와 변환

데이터 단위

용량 단위 약어 2진법 크기 바이트 대비 크기
바이트 B $2^0$ $1$
킬로바이트 KB $2^{10}$ $1,024$
메가바이트 MB $2^{20}$ $1,048,576$
기가바이트 GB $2^{30}$ $1,073,741,824$
테라바이트 TB $2^{40}$ $1,099,511,627,776$
페타바이트 PB $2^{50}$ $1,125,899,906,842,624$
엑사바이트 EB $2^{60}$ $1,152,921,504,606,846,976$
제타바이트 ZB $2^{70}$ $1,180,591,620,717,411,303,424$
요타바이트 YB $2^{80}$ $1,208,925,819,614,629,174,706,176$

진수 표기 방법

  • ${숫자_{진수}}$

진법변환

10진수를 2진수로 변환하는 방법 (정수 부분)

2 ) 27   ---
2 ) 13   --- 1 (27을 2로 나눈 나머지)
2 ) 6    --- 1 (13을 2로 나눈 나머지)
2 ) 3    --- 0 (6을 2로 나눈 나머지)
2 ) 1    --- 1 (3을 2로 나눈 나머지)
    0    --- 1 (마지막 몫)

따라서 10진수 27은 2진수 ${11011_2}$가 됨. (아래에서 위로 읽기)

10진수를 2진수로 변환하는 방법 (소수 부분)

0.3125 x 2 = 0.6250  -> 0 (정수 부분 기록)
0.6250 x 2 = 1.2500  -> 1 (정수 부분 기록)
0.2500 x 2 = 0.5000  -> 0 (정수 부분 기록)
0.5000 x 2 = 1.0000  -> 1 (정수 부분 기록)
0.0000             (소수 부분이 0이 되었으므로 종료)

따라서 10진수 0.3125는 2진수 ${0.0101_2}$가 됨. (위에서 아래로 읽기)

  • 다른 진수도 똑같이 됨

주의: 10진수 소수 중에는 유한한 2진수 소수로 정확하게 변환되지 않는 경우도 있음. 이 경우에는 원하는 정밀도에서 변환을 멈추고 근사값으로 표현.

데이터의 표현

정수 표현

구분 표현 방식 범위 예시 (8비트 2진수) 설명
부호 없는 정수 8비트 모두 크기 표현 0 ~ 255 00000000 (0), 00001010 (10), 11111111 (255) 모든 비트가 양의 크기를 나타냄
부호 있는 정수 (부호-크기) MSB: 부호 비트 (0: 양수, 1: 음수), 나머지 비트: 크기 표현 -127 ~ +127 00000000 (+0), 00000001 (+1), 01111111 (+127), 10000000 (-0), 11111111 (-127) MSB로 부호, 나머지 비트로 크기 표현 (음의 0 존재)

보수 표현

  • 각 비트를 반전하여 얻음 (0은 1로, 1은 0으로)
  • 양수의 1의 보수는 단순히 비트 반전
10진수 8비트 2진수 (원래 값) 1의 보수 2의 보수 (1의 보수 + 1)
+5 00000101 11111010 11111011
-5 (절댓값 5: 00000101) 11111010 11111011
+127 01111111 10000000 10000001
-127 (절댓값 127: 01111111) 10000000 10000001
0 00000000 11111111 00000000
-128 (표현 범위 최소값) - 10000000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment