컴퓨터 공학에서 빼놓을 수 없는 것이 10진수, 16진수 ,2진수의 표현방법일 것이다.
특히 컴퓨터 입장에서 생각했을 때
컴퓨터가 2진수로 데이터를 처리한다는 것은 널리 알려진 사실이다.
사람의 입장에서는 10진수로 모든 것을 보고 판단하고 있다.
하지만 프로그래밍을 하는 입장에서는 이런 다양한 표현방법을 알 필요가 있다.
10진수(Decimal)
10진수는 우리가 흔히 사용하는 표현법으로
0~9 사용!
0~9까지 사용하며 영어로는 Decimal이라고 한다.
232를 십진수로 자세한 공식으로 표현하면 아래와 같이 된다.
(10^0*v)+(10^1*v)+(10^2*v)
16진수 (Hex)
16진수는
0~F 사용!
0123456789 ABCDEF 총 16가지인데
특히 주목할 부분은 ABCDEF 알파벳 대문자가 6가지 추가된다.
10부터 A로 표현되고
11 B
12 C
13 D
14 E
15 F
이런 식이다.
계산법은
16진수를 10진수로 바꾸는 공식은
예를 들어 3자리 12B이면
각 자리수를 아스키 코드로 바꾸고
각 자리수에 맞게 16제곱하여 아스키코드 값을 더해주면 된다.
(16^0*v)+(16^1*v)+(16^2*v)= decimal value
12B -> 299
또 다른 계산하기 쉬운 방법은 10진수를 16으로 나누어서 역으로 올라가는 방식이다.
** 제일 중요한 16진수를 컴퓨터 공학에서 사용하는 이유는..???!!
바로바로 >>>
16진수는 2^4을 표현할 수 있기 때문이다.
- 16진법을 2진법으로 바로 변환하려면 각 자릿수를 2진법으로 변환하면 된다.
예를 들면 25FB16를 0010(2) 0101(5) 1111(F) 1011(B)처럼 끊어서 변환한 다음 전부 붙여주고 앞의 00을 떼준 뒤 100101111110112로 적으면 된다.
- 반대로 2진법을 16진법으로 바로 변환하려면 1의 자리에서부터 4개씩 끊어서 16진법으로 변환해주면 된다.
101110101010101010111101000102를 (000)1 0111 0101 0101 0101 0111 1010 0010로 끊어주고 각각 변환하면 175557A216이 된다.
8진수 (Octal)
0~7만 사용!
계산법은 10진수 및 16진수와 동일하고 8^ 형식으로 이어가면 된다.
2진수 (Binary)
0과 1만 사용!
10진수를 2진수로 표현하는 방법은 의외로 간단하다.
10진수의 값을 2로 나눠주면 된다.
몫이 0이 될때까지 나눠주고 나머지를 아래에서 위로 적어주면
2진수로 표현된다.
'Tech Blog > Info(Linux,etc)' 카테고리의 다른 글
리눅스 단축키, 터미널 명령어, 터미널 제어문자 정리 (0) | 2021.06.30 |
---|---|
리눅스 설치 (윈도우,Mac) + 기본세팅(한글 입력 및 설치) (0) | 2021.06.30 |
vs code 동기화하기 (0) | 2021.06.21 |
데이터 구조 및 알고리즘 (정보 글 아님, 생각 정리 글) (0) | 2021.06.18 |
C언어와 Java, python 등의 차이점 (0) | 2021.06.18 |