본문 바로가기
배움 기록/CS 지식

[기초 CS] 컴퓨터의 단위 체계 (1bit, 1byte, 1KB...) 및 컴퓨터가 글자를 다루는 방법

by dygreen 2024. 6. 7.

프론트엔드 실무를 1년 이상 하다보니

실무에 대한 지식만 있고 컴퓨터 지식이 너무 부족한 것 같다고 느껴졌다.

매번 부족한 나를 탓하며 자존감 낮추기를 반복하기 보단

필요한 지식을 학습하면서 부족함을 채워나가는 것이 훨씬 더 낫다고 생각했다.

아주 천천히 아주 기본적인 지식부터 학습해보고 기록해보려고 한다!

(너무 힘들게 하면 금방 지칠 것 같다는 핑계로..)

 

* 인프런 강의를 들으며 기록한 내용 *


 

1bit와  디지털

1bit
현재의 비트는 컴퓨터가 처리하는 이산 데이터의 양을 표기하는 단위로, 이진법(binary) 표기 시 하나의 자릿수, 즉 0 또는 1을 갖는 값 하나를 의미하는 단위다.
(출처 : 나무위키)

 

1비트는 전기 스위치 1개를 의미한다고 볼 수 있다.

  • 스위치가 ON 인 상태 = 1
  • 스위치가 OFF 인 상태 = 0

 

1bit = 2¹ = 2진수

(0과 1로만 표현하고 = 경우의 수가 2개인 = 2진수이다)

 

4bit = 2⁴ = 16진수

  • 4bit 는 16진수 한 자리 숫자이다.
  • 16진수는 0 ~ F (10진수 15)까지 한 자리에 쓴다.

 

2진수, 16진수 진법 변환

출처: 인프런 강의

16진수로 변환할 때, 한 자리 수가 넘어가면 A ~ F 로 표기한다.

 

ex) 2진수 0110 이 16진수로 6?

→ ON 상태인 1만 보면 → 2¹ 와 2² → 이 둘을 더하면 → 6

 

16진수 표기가 사용되는 예

1. 색상 표현
2. 컴퓨터 하드웨어 주소 표현
3. 메모리 값 표현

 

 

1. 색상표현

RGB 표현

빛의 3원색인 RGB 에서 R 을 표현하는 데 쓰는 bit 수는 8bit 이다.

 

8bit = 2⁸ = 256

전체 경우의 수가 256 개 (0 ~ 255) → 전혀 빨갛지 않은 0 부터 ~ 매우 빨간 255

 

CSS 에서도 16진수로 색상을 표기한다.

ex) #b71c1c ⇒ b7(R) 1c(G) 1c(B)

❗️16진수 1자 = 4bit (위에서 R은 b7로 2자 이므로 8bit)

⇒ 8bit * 3 = 24bit

 

* 32bit 정보가 필요할 수도 있음

: 24 bit + 8bit

여기서 + 8bit 는 투명도를 표기하기 위함이다.

 

 

2. 컴퓨터 하드웨어 주소 표현

C 언어

이미지에서 볼 수 있듯, 16진수로 표현한다

 


 

1byte

8bit = 1byte

1byte 는 영문자 한 글자가 저장될 수 있는 메모리 크기이다. (메모리 관리의 최소 단위)

(* 한글 한 글자를 저장하려면 2byte 가 필요)

 

 

1KB

2¹⁰ = 1024byte = 1KB

 

4bit (= 2⁴) 는 16가지

8bit (= 2⁸) 는 256가지

16bit 는 65,536가지 (64KB)

 


컴퓨터가 글자를 다루는 방법 (Feat. ASCII, Binary)

  • 10진수 65
  • 영문 대문자 'A'
  • 16진수로 0x41

→ 컴퓨터는 숫자만 저장할 수 있기 때문에, 문자를 숫자로 변환하여 저장한다.

 컴퓨터가 'A' 를 그리는 것을 렌더링이라고 한다.

 

문자를 렌더링할 때, 기준이 없으면 각각 다른 숫자로 변환하여 깨지는 문제가 발생하므로 표준을 만들었다.

ASCII(Amercian Standard Code for Information Interchange)(아스키 코드) 는 미국에서 사용하는 표준 코드체계이다.

영문 알파벳을 사용하는 대표적인 문자 인코딩이다.

 

숫자와 글자를 구별하지 않고 정보를 말할 때는 바이너리(Binary) 라고 한다.

Binary 내부에 Text 가 속해있으며, Binary 는 큰 개념이라고 보면 된다.

 

728x90

댓글