[Book]컴퓨터 사이언스 부트캠프 with Python

Joy·2020년 4월 16일
0

기타

목록 보기
2/12

1장. 변수

메모리 : 입력받은 데이터 저장 공간
변수 : 메모리에서 데이터 위치 나타내줌

1. 메모리 미리보기

32, 64 비트 차이 : 한꺼번에 보낼 수 있는 비트 수(2진수로 32/64 개 표현)
32비트 컴으로 총 4기가 메모리 가리킬 수 있음. 64는 더 큰 램 사용 가능

2. 변수의 의미 3.파이썬의 변수

변수 : 데이터 저장할 수 있는 메모리 공간

일반(C) : int num = 5;
변수 num 에 5 값 담김

파이썬 : num = 5
Num 이룸에 값 객체 5 가리킴. Num은 int 라는 클래스의 인스턴스 (객체)

2. 정수

  • 2 진수

    bin()
    2진수는 숫자앞에 “0b” 붙임

  • 16 진수 앞에 “0x” 붙임
    숫자 16 개로 ( 0-9 숫자 + 여섯개알파벳)
    16진수 한자리는 2진수 네자리수까지.

    hex()
    파이썬 코드 예시)
    num = 0xa

음의정수와 보수

보수 complement : 어떤 수에 몇을 더해야 x 가 될까
컴터가 음수표현 - 2위 보수 사용
예) -4를 바이트 형태로 표현할 때: 4를 2진법으로 -> 1의보수 로 바꾸기 -> 더하기 1(2의보수)

3장. 실수

컴터는 실수 표현할 때 부동소수점 사용.
파이썬은 double precision 사용. 부호 지수부 가수부 로 구성. 표현범위는 넓지만 정밀도는 낮음

문자와 문자열

Character encoding: 문자 집합 메모리에 저장, 부호화(통신에 사용 위해) 예시- 모스부호
Character set: 문자 모음 ex: 라틴 문자

컴이 문자 알려면 문자를 2진수로. - 문자 하나를 정수하나에 매핑해서 특정 문자 표한하도록.
그 정수: code point
코드포인트 집합: Coded character set( CCS)

  • 아스키: 대표적 문자 인코딩 방식 7비트로 표현
  • 유니코드 : 더 많은 문자 필요해서 7비트에서 16으로 확장. 언어 담을 테이블을 여러개 만듦. 한글은 U+AC00~D7AF

인코딩 방식

  • UTF-8

5장. 함수

Global variable 전역변수
Local variable 지역변수

람다함수

이름 없는 함수. 다음행으로 넘어가면 다시 사용할 수 없음. Return 값 없음.

6 장. 객체 지향 프로그래밍

함수 지향 에서 클래스로 객체와 객층 개념 추가

7장. 클래스

IS-A 관계 상속 inheritance
HAS-A 관계 : 합성 composition 통합 aggregation

8장. CPU

트랜지스토, 논리게이트

전기의 특성상 높은 전앞에서 저항을 만나면 전류의 전압이 낮아짐(전압 강하) - 이 원리로 컴터는 0과 1 인식(높은 전압은 1, True로 낮은전압은 0, false로 )
이 사이에 스위치를 놔서 0이나 1을 조절 - 이 역할이 ##### 트랜지스터
: 전류가 흐르거 흐르지 않게 함.

논르게이트

컴터에 들어가는 디지털 회로를 구항하는 가장 기본 요소. bool함수 구현하기 위한 회로. 기본: AND OR XOR NOT 등
이걸로 논리표 작성 (입력값에 따른 모든 경우의 수 나타냄)

조합논리회로와 가산기

  • cpu의 구성
    제어장치 control unit : cpu 각 파트에 지시내리는 역할
    산술논리연산장치 alu : 산술, 논리 연산 실행
    AX ,BX, IR,PC : 레지스터. cpu안에 내장된 메모리.

가산기:대표적 조합논리회로(현재 입력에 의해서만 출력 결정) ALU 내부에 위치.
반가산기 : 단순 비트 두개만 더하는.
전가산기: 캐리까지 연산에 포함 - 반가산기 두개와 OR 게이트 한개

계속..

profile
roundy

0개의 댓글