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 |