기술면접 준비

하드웨어 - 06

또롱또 2022. 5. 24. 11:07
728x90

https://joonokio.tistory.com/29

[이진수]

일련의 비트가 주어졌을때, 각 사이의 숫자들을 10 대신 2를 기수로 하는 자릿값으로 해석하면 어떤 수를 나타낼 수 있다.

 

십진수

일반적으로 수를 표기할때 유효숫자 앞에 오는 0은 암묵적으로 존재하지만 보통은 생략을 한다.

일상 생활에서도 0이 아닌 1부터 레이블을 붙이기 시작하는거처럼

 

십진수는 10의 거듭제곱의 합을 줄여 표기한 것이다.

 

ex) 1867을 예로 들어,

    1 x 10³ + 8 x 10² + 6 x 10¹ + 7 x 10⁰ 

-> 1 x 1000 + 8 x 100 + 6 x 10 + 7 x 1

즉, 1000 + 800 + 60 +7 이다.

 

이진수

기수가 10대신 2이고 사용되는 숫자가 0과 1뿐이라는 점을 빼면 십진수와 똑같다.

ex) 11101을 예로 들어, 

     1 x 2⁴ + 1 x 2³ + 1 x 2² + 0 x 2¹ + 1 x 2⁰ 

 -> 16+8+4+0+1

즉, 29 이다.

 

  • 이진수를 십진수로 변환할때는 비트가 1인 자릿값에 해당하는 2의 거듭제곱을 합산하기만 하면 된다.

 참고 / 이진수 11101 를 십진수 29로 변경

1 1 1 0 1
         1 x 2⁰ 
       0 x 2¹  
     1 x 2²    
  ㄴ 1 x 2³       
 1 x 2⁴         
  • 십진수를 이진수로 변환하는 것은 2로 나누기를 반복하여 나눌때마다 나머지의 값(0,1)을 적고 몫이 0이 될때까지 반복하여 나머지 값을 역순으로 나열하면 된다.

참고/ 십진수 1867 를 이진수 11101001011

나머지
1867 933 1
933 466 1
466 233 0
233 116 1
116 58 0
58 29 0
29 14 1
14 7 0
7 3 1
3 1 1
1 0 1

 

컴퓨터에서는 논리의 조립이 간단하고 내부에 사용되는 소자의 특성상 이진법이 편리하기 때문에 이진법을 사용한다. 

디지털 신호는 기본적으로 이진법 수들의 나열이며, 컴퓨터 내부에서 처리하는 숫자는 기본적으로 이진법을 이용하기 때문에 컴퓨터가 널리 쓰이는 현대에는 그 중요성이 더 커졌다.          -위키백과-

 

[바이트]

모든 최신 컴퓨터에서 데이터 처리와 메모리 구성의 기본 단위는 8비트로, 이는 하나의 단위로 취급된다.

비트 여덟개 = 바이트

단일 바이트로는 256개의 구별되는 값을 인코딩 할 수 있으며

인코딩 된 값는 0과 255 사이의 정수이거나, 7비트 아스키코드 문자 집합(1비트는 다른용도로 남겨 둠) 중 하나의 문자이거나, 뭔가 다른 것일 수 있다. 

 ㄴ (1비트는 다른용도로 남겨 둠)  : 1바이트를 구성하는 8비트 중에서 7비트만 쓰도록 제정된 이유는, 나머지 1비트를 통신 에러 검출을 위한 용도로 비워두었기 때문이다. Parity Bit라고 해서, 7개의 비트 중 1의 개수가 홀수면 1, 짝수면 0으로 하는 식의 패리티 비트를 붙여서, 전송 도중 신호가 변질된 것을 수신측에서 검출해낼 수 있도록 하였다. 일종의 원시적인 CRC 체크섬이라고 할 수 있다. - 출처 '나무위키'-

 

십육진수

이진수는 십진수 형태보다 세 배 이상 길어서 너무 많은 공간을 차지하므로 십육진수라는 대안 표기법을 일반적으로 사용한다. 십육진수는 16을 기수로 사용하며 16개의 숫자로 표시한다.

십진수는 10개의 숫자를 쓰고 이진수는 2개의 숫자를 쓰듯이 16진수는 16개의 숫자를 쓴다.16진수의 수 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F이 16진 숫자가 네개의 비트를 표한하는데 아래가 십육진 숫자와 대응하는 이진수 값을 정리한 표이다.

십육진수 이진수
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

프로그래머가 아니라면 십육진수를 볼 수 있는 곳은 많이 않으며 웹페이지의 색상에 십육진수가 사용된다.

십육진수 사용

- RGB인코딩

- 유니코드 코드표에서도 문자로 식별하고자 십육진수를 사용

- 이더넷 주소

- 웹에 쓰이는 URL에서 특수 문자를 표현할때

 

 

컴퓨터는 내부적으로 데이터를 다양한 크기의 덩어리 단위로 조작한다. 이런 덩어리는 수와 주소를 포함하며, 수로는 32비트, 64비트가 편리하게 사용되고 주소는 메모리상에 있는 정보의 위치다.

30년 전에 16비트 주소 체계에서 32비트 주소 체계로 이행이 이뤄졌으며 32비트면 최대 4GB메모리에 접근하기 충분한 크기다.

현재는 범용 컴퓨터에서 32비트에서 64비트로 이행이 거의 완료되었다.

앞으로 128비트로 이행이 언제 일어날지 모르나 한동안은 이대로도 괜찮을 것이라고 한다.

 

마치며,

비트모음의 의미는 상황에 따라 결정되며 그저 보이는 것만 가지고 비트가 무엇을 의미하는지는 식별할 수 없으나 프로그램을 실행할 때는 그 비트들이 CPU에 의해 처리되면서 명령어로 취급된다.

 

728x90