[ComputerScience bootcamp with python 1장]


본 포스팅은 컴퓨터사이언스 부트캠프 with 파이썬 이라는 책을 참고하여 개인 공부를 하면서 정리하고 있습니다.

문제 될 시 삭제하겠습니다.

Chapter 1 변수

1. 메모리 미리보기

  • 변수(variable)나 참조(reference)의 개념을 명확히 이해하려면 메모리부터 이해
  • 컴퓨터는 1과 0으로 이루어진 데이터를 처리
    • 1과 0을 표현할 수 있는 데이터 단위 비트(bit)
    • 비트가 여덟 개 모이면 바이트(byte)

    1바이트는? 01011010 8개

    • 기가바이트는 1,024x1,024x1,024 = 1,073,741,824 바이트 의미

1.1 32비트와 64비트의 의미

  • 컴퓨터는 데이터 단위로 비트를 사용
  • 데이터를 한 번에 몇개 보낼 수 있는지를 나타내는 지표가 32비트64비트
  • 비트 수가 높을수록 한 번에 전송할 수 있는 데이터 양이 많아짐
    • 한 번에 데이터를 보낼 수 있는 데이터 갯수?

    32비트면 32비트 컴퓨터, 64비트면 64비트 컴퓨터

    • 컴퓨터 메모리 주소

    32비트 컴퓨터면 32비트로 표현, 64비트 컴퓨터면 64비트로 표현


1.2 메모리에 우편번호를 매긴다

여기서 잠깐

  • 우편번호란?

    우리나라 땅을 다섯 자릿수로 표현

    • 예를 들면 한 구역을 15235 형태로 나타냈을 때
      • 아파트 한 채의 한 호(B동 1234호처럼) 까지는 나타낼 수 없음
      • 그치만 어느 동에 있는 어느 아파트인지는 구분 가능
    • 그렇다면 다섯 자릿수 우편번호로는 주소를 몇 개까지 나타낼 수 있을까?
      • 다섯 자릿수이므로 10^5 즉, 00000 ~ 99999 구역을 총 100,000개 까지 나타낼 수 있음

이제 메모리를 우리나라라고 생각해 보면?

  • 컴퓨터는 0과 1밖에 모르기 때문에 2진수로 나타내야 함
  • 메모리 주소 한 개는 메모리에서 1바이트(8비트)를 가리킴
    • 2진수 여덟 개로 메모리 주소를 표현 => 8비트 컴퓨터
    • 32비트 컴퓨터라면 하나의 주소를 나타내면? 2진수 서른두 자릿수를 사용

    그러므로 32비트에서 나타낼 수 있는 주소 개수는 2^32(=4,294,967,296)개

    이것은 4,294,967,296 바이트는 4x1,024x1,024x1,024 바이트로 풀어 쓸 수 있음

    • 1,024 바이트는 1KB, 1,024x1,024바이트는 1MB, 1,024x1,024x1,024바이트는 1GB

    TIP KB = 2^10 = 1,024, MB = 2^10x2^10 = 1,048,576, GB = 2^10x2^10x2^10 = 1,073,741,824

  • 32비트로는 총 4GB 메모리를 가리킬 수 있음
    • 이것이 바로 32비트 컴퓨터에서 4GB보다 큰 메모리가 무용지물인 이유
    • 32비트가 주류였던 과거에 4GB 메모리에 추가로 4GB 메모리를 더 설치해도 메모리 주소를 배정받지 못했음
    • 64비트 컴퓨터는 이론으론 2^64=(18,446,744,073,709,551,616)바이트이므로 훨씬더 큰 램을 설치해도 무방





© 2018. by Dev_Yonghee

Powered by Dev_Yong