CS(Computer Science)/짧은 컴퓨터 지식

넓게 본 컴퓨터 지식

MoonjuLee 2023. 6. 4. 23:28
bit
- 신호를 나타내는 최소단위, 전기 스위치 하나
- 전기가 흐르면 1, 전기가 흐르지 않으면 0
- 이렇게 0과 1로 나타내야 하기 때문에 2진법을 사용한다.(디지털 신호)
(확장 지식)
- 4bit는?, 전기 스위치 4개라고 말할 수 있다. 4개의 전기 스위치로 만들 수 있는 경우의 수는 2의 4제곱 즉, 16이다.
- 전기 스위치 4개 중 가운데 2개가 켜져 있다면? 0110 즉, 10진수로 6이다.

2진수와 16진수
- 위에서 말한 bit, 2진수로 디지털 정보를 표현할 수 있지만 보통 16진수로 나타낸다.(ex : 메모리 값, 주소, rgb)(이 의미를 모르고 나는 진수변환을 했던 적이 있다...)
- 16진수(0~F)에서 10진수 10은 A이다. 그럼 10진수의 15는? F이다.
- 여기서 추론할 수 있는 것은 4bit로 만들어진 2진수 1111은 F이고, 4bit는 16진수의 한 자리이다.(★)
(확장 지식)
- 0xAF 는 무엇인가? 0x를 보고 16진수라는 것을 떠올리고, AF는 각각 한 자리씩 4bit이며, 합쳐서 8bit이구나 하고 이해하자.

bit와 byte
- 8bit는 1byte, 1byte는 영문자 한 글자가 저장될 수 있다.(참고로 한글은 2bytes가 필요하다.)
- 메모리 용량의 최소 단위(RAM의 용량이 byte인 시절이 있었나...)
- 경우의 수는 4bit 16가지, 8bit 256가지, 16bit 65,536가지이다.
 
용량의 단위
- bit는 용량이라고 하기 뭐한 전기가 통하는지 표현되는 최소 단위이며, 용량의 단위라고는 사용하지 않는다.

- 1byte는 8bit, 1,024bytes는 1KB, 1,024KB는 1MB, 1,024MB는 1GB, 1,024GB는 1TB이다.(이후는 1PB(페타바이트), 1EB(엑사바이트), 1ZB(제타바이트), 1YB(요타바이트))
- 1,024 기준으로 바뀌는 것은 2의 10제곱이기 때문이다. 이해가 안 된다고요? 2의 제곱순으로 진행되기 때문에 1,000이 2의 제곱에 없어 1,000이 아닌 1,024입니다.

글자
- 컴퓨터는 애초에 0, 1 밖에 없다. 하지만 위처럼 숫자를 만들고 숫자를 글자로 대응시켜 코드체계로 만들었다. 이 코드 체계를 통해 숫자로 문자 그림을 그린다고 할 수 있다. 이 그림을 그리는 것을 렌더링 한다고 한다.
- ex) 아스키코드 체계에서 10진수 65, 16진수 0x41, 영문 'A'로 정했다.(16진수 20은 빈칸이고, \r\n 개행문자는 16진수 0D 0A이다. 이것을 기록하는 것은 눈에 보이지 않는다고 데이터가 없다고 생각하지 말자!)
- 위의 예에서 16진수 0x41을 살펴보면 16진수를 나타내주는 0x를 빼고 41은 4라는 숫자 하나가 4bit, 1이 4bit 그래서 8bit 즉, 1byte이다. 위에서 말한 1byte가 영문자 한 글자가 저장된다는 것과 일치한다.
- Binary : 이진 파일, 이진 형식으로 인코딩 된 것이고, 바이너리 파일의 데이터를 읽거나 쓸 때는 데이터의 어떠한 변환도 일어나지 않는다.

사진
- 위의 글자처럼 컴퓨터의 사진을 설명하기 위해서는 화소(pixel)를 알아야 한다. 화소는 화면을 구성하는 최소 단위이고, 컴퓨터에서는 모니터의 하나의 점이라고 생각하면 이해하기가 쉽다. 화소를 모아 사진을 만든다. 그럼 화소가 어떻게 표현되나 알아보자. 화소는 RGBA라고 표현되고, R(Red)을 8bit로 256가지로 표현할 수 있고, 마찬가지로 G(green), B(Blue)도 256가지로 표현할 수 있다. RGB는 8bit 3개의 합인 24bit이고, 마지막 A(alpha channel)는 투명도를 나타낸다.

 

 

 익숙하지만 설명할 순 없었던 기초 지식과 궁금한 것들을 공부하고 사전 형식으로 정리한 페이지입니다. 이곳의 지식 더 필요하다고 생각되면 따로 빼서 글을 쓸 예정입니다!