본문 바로가기

study

컴퓨팅 사고

2진법(binary)

일상적으로 사용하는 0~9 숫자 표기는 10진법이다.

0,1 을 활용해서 표기하는 숫자는 2진법이다.

 

예를 들어,

10진법의 경우에는

[ 123 = 1 * 10의 2제곱 + 2 * 10의 1제곱 + 3 * 10의 0제곱 ]

으로 표기할 수 있다.

이것은 각 자리수를 10의 거듭제곱으로 표현했기 때문이다.

 

그렇다면 2진법은 각 자리수를 2의 거듭제곱으로 표현하는 표기이다.

숫자 3을 2진법으로 표기한다면 11 이다. 왜냐하면

11 = 1 * 2의 1제곱 + 1 * 2의 0제곱

으로 0,1 만 활용하고 각 자리수가 2의 거듭제곱으로 표기하기 때문이다.

 

비트(bit = binary digit) => 0 or 1

바이트(byte) => 8개의 비트

 

C++ 2진수, 8진수, 16진수 표기

- 2진수: "0b숫자"
- 8진수:  "0숫자"
- 16진수: "0x숫자"
뒤쪽에 위치한 숫자를 진법 계산하여 크기를 파악한다.

정보의 표현

알파벳(이모티콘)

아스키코드: 총 128개의 부호로 정의되어 있는 문자 표준으로 A는 65 B는 66 등으로 숫자가 정해져있다.

유니코드: 더 다양한 문자를 나타내기 위해 확장된 표준으로 이모티콘까지 포함되어 있다.

이미지

RGB: 모든 색깔이 빨, 초, 파 세가지로 표현될 수 있다는 점에서 특정 색깔이 각각 어느 정도 비율로 들어가있는지 숫자로 표기하고 그 조합으로 픽셀을 채운다. 그 픽셀의 모음이 이미지로 보여진다.

 


알고리즘

입력과 출력 사이에서 이루어지면서 어떤 과제를 단계적으로 해결하는 과정.

알고리즘에서 중요한 가치는 정확성과 효율성이다. 문제 상황을 파악하고 모든 사례를 분석하지 않고도 대응할 수 있으며, 최소한의 단계와 연산으로 이루어진 알고리즘이 정확하고 효율적이라 할 수 있다.

문제 상황의 용량 X 해결 시간 

의 관계를 생각했을 때 함수의 기울기가 완만할수록 좋은 알고리즘일 것이다.

 

해당 내용은 네이버 부캠 CS50 강의 내용을 토대로 작성되었습니다

'study' 카테고리의 다른 글

boj 13300 javascript  (0) 2022.06.18
C 언어 기초  (0) 2022.06.17
Flutter 하이브리드 환경에서 PASS 앱 연동  (6) 2022.01.05
envoy proxy 에 대하여  (0) 2021.10.23
RN vs Flutter  (0) 2021.10.17