부스트코스 - 모두를 위한 컴퓨터 과학 (CS50 2019) / 1. 컴퓨팅 사고 / 1) 2진법
https://www.boostcourse.org/cs112/lecture/118997
모두를 위한 컴퓨터 과학 (CS50 2019)
부스트코스 무료 강의
www.boostcourse.org
Input과 Ouput 사이에 그 과정을 컴퓨터 과학이라고 정의할 수 있다
그리고 이런 입력과 출력을 표현하기위해 모두가 동의하는 표준이 필요하며 컴퓨터가 표현하는 지 약속된 표현방법에 대해 알아야 할 것이다.
컴퓨터는 단 2가지 숫자로 표현한다.
이를 2진법 (binary / 0과 1의 조합) 이라 하며, 컴퓨터는 단 0과 1만 가지고 있지만 숫자뿐만 아니라 글자, 사진, 영상, 소리 등 많은 것을 저장할 수 있다.
어떻게 그것이 가능할까?
인간이 익숙하게 사용하는 10진법 (손가락을 기준으로 만들어진) 에서
123을 바라보면 [일이삼] 이라는 문자 표기에서 그치는게 아닌 [백이십삼] 이라는 의미를 얻는다
| 1 | 2 | 3 |
| 1x10² | 2x10¹ | 3x10⁰ |
| 100x1 + 10x2 + 1x3 = 123 | ||
인간은 오랜시간 사용해온 체계로 저 숫자를 보면 바로 아래와 같은 식으로 변환해 인식한다.
컴퓨터는 인간과 달리 0과 1 만으로 이루어져 있기에
| 1 | 1 | 1 |
| 1x2² | 1x2¹ | 1x2⁰ |
| 1x4 + 1x2 + 1x1 = 7 | ||
이와같이 비록 원리는 같으나 기준된 숫자를 달리하여 2 이상의 다양한 숫자를 표현한다
따라서 이 두가지를 비교하자면
10진법에서의 111 은 111 [백십일] 이지만
2진법에서의 111 은 7을 의미한다
그럼 이런 2진수와 컴퓨터가 무슨 관계일까?
0 = 거짓,꺼짐
1 = 진실,켜짐
을 기본으로 의미를 가지며 전기를 켜고 끄는 방식으로 작동하는 데에 적합한 방법이다.
그렇기에 2진법을 사용하며 2진법 하나의 자릿수를 bit (비트 / binary digit) 라는 이름으로 부르며 측정단위로 사용한다.
수많은 비트를 활용하여 정보를 표현 그리고 이를 물리적으로 수행
더 많은 0과 1로 표현하기 위해 여러 bit를 사용하게 되었고 보다 효과적인 단위를 부여하여 사용하게 되었는데 그것이 바로 byte이며 이는 8bit와 동일하다.
+ 왜 하필 8 bit 일까?
컴퓨터 아키텍쳐가 영문권인 곳에서 발전했기 때문이라고 한다. 0101010 로 이루어진 전자신호를 사람이 인식할 수 있는 문자로 저장을 했어야 했는데, 영어 문자를 표현하는 코드들의 숫자가 7bit ~8bit 으로 충분했기 때문이라고 한다. (ASCII : 제어문자(32개), 출력가능문자(영소문자, 영대문자, 숫자, 기타 기호, parity bit 등등) 현재도 ASCII extended 부호를 사용하고 있다. (7bit + 1bit) 이래서 1Byte에 문자 1개를 저장할 수 있는 8bit 구조가 된 것이라고 한다.
출처 : https://zepeh.tistory.com/313
1바이트는 왜 8비트일까?
컴퓨터가 처리하는 정보의 최소단위. 비트보다 높다. 옛날에는 4비트, 6비트를 1바이트로 삼는 컴퓨터도 있었으나, 현대(적어도 1984년 이후)의 대개의 컴퓨터 아키텍처에서, 1옥텟, 즉 8비트로 1
zepeh.tistory.com
비트를 통해 물리적으로 정보를 표현하는 방식을 설명하자면 트랜지스터를 빼놓을 수 없는데, 트랜지스터는 컴퓨터 속에 있는 아주 작은 스위치로 컴퓨터는 수백만, 수십억 개의 이 스위치를 가지고 있다.
그리고 이 스위치를 물리적으로 이용해 on/off 하며 정보를 표현하고 값을 저장한다.
+ 데이터 단위
| 단위 | 정의 |
| bit / 비트 | 0 or 1 |
| byte / 바이트 | 8 bit |
| kB / 킬로바이트 | 1000 byte |
| MB / 메가바이트 | 1000 kB |
| GB / 기가바이트 | 1000 MB |
| TB / 테라바이트 | 1000 GB |
컴퓨터 용량을 표현할때 ex) 1kb 라 했을때 1000 byte 또는 1024 byte 로 단위 기준이 다를때가 있는데 이는 10진법체계와 2진법 체계의 단위 체계때문에 때문
https://93jpark.tistory.com/35
1킬로바이트는 1024바이트? 1000바이트?
1 킬로바이트는 1024바이트? 1000바이트? 이전 글에서 정보의 표현 단위인 비트와 바이트에 대해 알아보았습니다. 우리는 일상 속에서 킬로라는 단위를 사용합니다. 이 단위는 10³(1000)을 의미하는
93jpark.tistory.com
'Computer Science > Basic' 카테고리의 다른 글
| 컴퓨터 과학 CS - 스크래치 (0) | 2022.10.20 |
|---|---|
| 컴퓨터 과학 CS - 알고리즘 (0) | 2022.10.20 |
| 컴퓨터 과학 CS - 정보의 표현 (2) | 2022.10.20 |
| 컴퓨터 용어 정리 (0) | 2022.10.09 |
| 특수문자 영어 호칭 (0) | 2022.10.05 |
