CS50으로 CS 맛보기 - 2진수 / 16진수

Hyebin·2021년 8월 10일
0

CS

목록 보기
3/10
post-thumbnail

우리가 일상에서 사용하는 숫자 체계는 10진수이다.
10진수는 0~9까지의 숫자로 값을 표현할 수 있는 것을 말하고
10진수의 각 자리는 10의 거듭제곱이다.

사람은 328이란 숫자를 보았을 때 머리속 암산으로 삼백이십팔이란 것을 자연스럽게 인식하지만 컴퓨터는 그렇지 않다.
컴퓨터는 사람과 다른 원리로 계산하게 되는데 이때 필요한 개념이 2진수이다.

2진수

0~1까지의 2개의 숫자를 사용해서 수를 표현하는 것

컴퓨터 언어는 0, 1만 이용해서 작동하기 때문에 2진수를 사용해서 수학적 연산을 한다.

2진수로 숫자 읽기

숫자 세는 방법은 10진수와 비슷하지만 사용하는 숫자가 0, 1 뿐이다.
1이상의 숫자들은 2진수에서는 2의 거듭제곱을 써서 각 자리를 나타내서 쓸 수 있다.


16진수(hexadecimal)

0~9 까지의 10개의 숫자와 a~f까지 6개의 문자로 수를 표현하는 것

컴퓨터 과학에서 16진수가 유용한 이유는 각 자리의 수 0부터 f가 4bit 패턴과 완벽히 대응하기 때문이다. 10진수 보다 2진수를 간단히 나타낼 수 있다는 점에서 16진수로 많이 표현한다.
두 자리의 16진수가 있다면 1byte(= 8bit)와 대응된다.

16진수로 나타내기

16진수라고 알려주기 위한 기호 : 0x
위 기호는 16진수를 명시적으로 표현할 뿐 별 다른 의미를 가지지 않는다.

예를 들어 255를 2진수로 표현하면 11111111이다.
11111111은 1byte(= 8bit)이고, 16진수로 바꾸기 위해서 4bit씩 쪼개어 생각해볼 수 있다.
1111 1111 둘로 나눠지고, 이 값은 동일하게 15를 나타내는데 16진수에서 15는 f로 표현하기 때문에 ff가 된다.

0개의 댓글