![[CS50] 컴퓨팅 사고 - 2진법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTpkF0%2FbtsHSXAG6Sb%2FfZLZzmtUNDq4mxBfck1jPK%2Fimg.jpg)
컴퓨터 과학?
컴퓨터 과학은 문제 해결에 대한 학문이다.
문제 해결은 어떤 입력이 있을 때 어떤 출력값이 나오는지에 대한 답을 찾는 과정이다.
그 중간에 있는 과정이 컴퓨터 과학이다.
앞으로 이 기계들을 문제 해결에 사용할 것인데, 이 때 입력과 출력을 어떻게 표현할지에 대해 처음부터 모두 동의할만한 약속이 필요하다.
어떻게 표현하는지에 대한 표현 방법을 가장 먼저 배울 것이다.
2진법
컴퓨터는 0~9, 총 10개의 기호로 표현하는 방식이 아니다.
컴퓨터는 0과 1로만 데이터를 표현한다.
이런 방법을 2진법이라고 한다.
그러나 컴퓨터는 숫자만 저장하는게 아니라 글자, 사진, 영상, 소리 등 많은 것들을 저장할 수 있다.
우리는 위의 숫자를 보면 123이라고 생각한다.
1은 100의 자리, 2는 10의 자리, 3은 1의 자리라고 인식해 123이 되는 것이다.
우리는 이런 과정을 아주 당연하게 여기지만 어떻게 보면 수천년간 우리가 이용해온 체계 때문에 이렇게 자연스러워진 것이다.
하지만 컴퓨터가 이런 숫자들을 이해할 수 있을까? 0과 1만 가지고 있는 컴퓨터의 세계에서는 조금 힘들지도 모른다.
그래서 10진법 체계를 변형해 2진법을 사용한다.
위에 사진은 2진법으로 3을 표현했다.
3에서 4로 넘어가기 위해 1을 가져온다.
2진법에서 bi가 2를 뜻하므로 2진법 100은, 10진법에서 100이 아니라 4를 의미한다.
2진법은 전기를 켜고 끄는 방식으로 작동하는 컴퓨터에게 적합한 방법이다.
컴퓨터에는 정말 많은 스위치(트랜지스터)가 있고 on/off 상태를 0과 1로 표현한다.
컴퓨터는 2진법에서 하나의 자릿수를 표현하는 단위를 비트(bit)라고 한다.
비트, 비트열
비트는 이진 숫자라는 뜻을 가진 binary digit
의 줄임말로 0과 1, 두 가지 값만 가질 수 있는 측정 단위이다.
여러 비트들을 나타냄으로써 두 가지의 값만을 가지고도 많은 양의 정보를 저장할 수가 있다.
하지만 비트 하나로는 많은 양의 데이터를 표현하기 힘들다.
그렇기 때문에 여러 숫자 조합을 컴퓨터에 나타내기 위해 비트열인 바이트를 사용한다.
바이트$_{byte}$는 여덟게의 비트가 모여 만들어진 것이다.
하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있기 때문에
$2^8 = 256$ 개의 서로 다른 바이트가 존재할 수 있다.
References
모두를 위한 컴퓨터 과학 (CS50 2019)
부스트코스 무료 강의
www.boostcourse.org
'CSE > CS 기초' 카테고리의 다른 글
[CS50] C언어 - 자료형, 형식 지정자, 연산자 (1) | 2024.06.12 |
---|---|
[CS50] C언어 - 문자열 (1) | 2024.06.12 |
[CS50] C언어 - C 기초, 컴파일러 (1) | 2024.06.10 |
[CS50] 컴퓨팅 사고 - 알고리즘 (0) | 2024.06.10 |
[CS50] 컴퓨팅 사고 - 정보의 표현 (0) | 2024.06.10 |
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!