1. 10진법과 2진법 (feat.비트, 바이트)

Msik·2022년 6월 7일
0

컴퓨터 과학이란 문제해결에 대한 학문입니다.
문제 해결은 결국 입력을 받아 출력을 만들어내는 과정이고 그 중간에 과정이 바로 컴퓨터 과학입니다.

이러한 입력과 출력을 표현하기 위해서 우리 모두의 약속이 필요하고 컴퓨터 과학의 첫번째 개념은 바로 이 표현 방법(약속)입니다.

  • 사람의 손가락은 10개가 있습니다. 우리는 숫자를 셀 때 한번에 0,1,2,3,4,5~9이렇듯 많은 숫자를 가지고 표현을 하는 것이 가능합니다. 즉 10진법을 사용하고 있는 것입니다. 하지만 컴퓨터는 오로지 0과 1 단 2개로만 데이터를 표현할 수 있습니다. 오로지 0과 1만으로 글자, 사진, 영상 소리 등을 저장하는 것이죠.

  • 이와 같은 2진법은 전기를 통해 연산하는, 즉 전기를 켜고 끄는 방식으로 작동하는 컴퓨터에게 적합한 방법입니다.

  • 컴퓨터에는 굉장히 많은 스위치(트렌지스터)가 있고 on/off 상태를 통해 0과 1을 표현합니다.

  • 10진법과 이진법

    위 숫자는 10진법으로는 123이지만 이진법으로는 1111011(2)로 표현할 수 있습니다.
    쉽게 생각해서 10진법의 다음 자릿수 이동은 10의 제곱으로 이루어지지만 0과1만으로 표현하는 컴퓨터의 다음 자릿수 이동은 2의 제곱형태로 이루어지기 때문입니다.

10진수를 2진수 변환하는 방법

몫이 2보다 작아질 때까지 나누고 화살표 방향으로 숫자를 나열한다.
10진수 11은 이진수로 1011(2)로 표현할 수 있다.


예시1)

* 컴퓨터는 수백만, 수십억 개의 이 스위치들을 가지고 있고 이들을 물리적으로 이용해서 정보를 표현하고 값을 저장합니다.

* 만약 50 이라는 숫자를 표현하고 싶고 컴퓨터가 아래와 같은 숫자이름의 전구 8개(1바이트)를 가지고 있다면

128 - 64 - 32 - 16 - 8 - 4 - 2 - 1

컴퓨터는 32 , 16, 2 라는 이름의 3개의 스위치를 on 나머지는 off하여 50을 표현할 것 입니다.


예시2)

'Here are some words'라는 영문 문장이 이진수로 표현되었을 때의 예를 봅시다.

0100 1000 0110 0101 0111 0010 0110 0101
0010 0000 0110 0001 0111 0010 0110 0101
0010 0000 0111 0011 0110 1111 0110 1101
0110 0101 0010 0000 0111 0111 0110 1111
0111 0010 0110 0100 0111 0011 0010 1110

첫 문자인 대문자 H는 0100 1000 형식으로 표현되어 있습니다.

문자와 숫자 뿐만 아니라 그림이나 소리 이모티콘 등도 컴퓨터 내부에서는 역시 0과 1로 구성되는 이진수 형태로 처리됩니다.

! 특히 그림은 한 개의 점이 RGB의 세가지 10진수 값을 받게 되는데 그 값을 각각 이진수를 통해서 저장할 것 입니다. 중요한건 포토샵이나 애플 포토 등 그래픽을 사용하는 프로그램을 통해 우리의 컴퓨터는 그것이 문자가 아니라 RGB에 들어가는 각 숫자를 의미한다는걸 판단할 것 입니다. 그래서 똑같은 65 38 54라도 문자가 아니라 다르게 해석할 수 있는 것 입니다.


아스키코드와 유니코드란?

  1. 아스키코드는 미국정보교환표준부호라는 이름으로 총 128개의 부호로 정의되어 알파벳 기준으로 문자를 표현하기 위한 표준(약속)입니다. 8개의 비트를 사용합니다.
    -,!,@,#,$ 이런 문자들도 표현되있습니다.

  2. 유니코드의 경우 알파벳 기준의 아스키코드만으로 표현할 수 없는 세계의 많은 문자들과 이모티콘들을 표현하기 위한 새로운 표준으로 결국 아스키코드보다 더욱 많은 표현을 하기 위해서 나타난 것입니다. 16개의 비트를 사용합니다.


- 아스키코드 표-

profile
득근득근 개발!

0개의 댓글