<bit (비트)>
데이터를 나타내는 최소 단위. 모든 데이터는 0과 1의 조합으로 구성되는데, 이 0또는 1이 하나의 비트가 됨. 1개의 비트는 두 가지 상태를 나타낼 수 있으므로 n개의 비트로는 2ⁿ가지의 상태를 나타낼 수 있음
0, 1 로 표현
1bit = 0 또는 1
2bit = 00, 01, 10, 11
3bit = 000, 001, 010, 011, 100, 101, 110, 111
00000000 = 8bit = 1byte
*비트가 많아지면 많아질수록 표현할 수 있는 게 많아진다.
1bit = 0, 1
2bit = 0, 1, 2, 3
3bit = 0, 1, 2, 3, 4, 5, 6, 7
1bit = 0, 1 = 2가지 표현 가능 = 2^1 = 2 (0~1)
2bit = 00, 01, 10, 11 = 4가지 = 2^2 = 4 (0~3)
3bit = 2^3 = 8 (0~7)
4bit = 2^4 = 16 (0~15)
5bit = 2^5 = 32 (0~31)
6bit = 2^6 = 64 (0~63)
7bit = 2^7 = 128 (0~ 127)
8bit = 2^8 = 256 (0 ~ 255)
9bit = 2^9 = 512 (0 ~ 511)
10bit = 2^10 = 1024 (0 ~ 1023)
컴퓨터는 2진법으로 표현한다.
<byte (바이트)>
컴퓨터의 기억장치의 크기를 나타내는 단위로 자주 쓰이며, 많은 프로그래밍 언어에서 정수형에 속하는 자료형이기도 하다. 바이트의 실질적 의미는 ASCII 문자 하나를 나타낼 수 있다는 것이다. 따라서 여러 바이트를 한 워드로 사용하고 있는 현재에도 대부분의 컴퓨터 하드웨어에서 메모리의 주소 단위로 사용된다.
데이터를 처리하는 최소단위
//특정 데이터를 계산하거나 연산처리 하거나 혼합하거나 이동시키거나 할 때
데이터를 연산처리하는 최소단위
1byte -> 8bit = 0~255 = 256개
[ 1byte
1Kbyte = 1000byte
1Mbyte = 1000Kbyte
1Gbyte = 1000Mbyte
1Tbyte = 1000Gbyte ]
2진법으로 수를 나타낸 2진수 & 2진수를 10진수로 변환
2진법에서 사용할 수 있는 숫자는 0, 1 이렇게 달랑 2개 입니다.
2진법에서 각 자리값은 2의 제곱으로 나타냅니다. 예를 들어 이진수 1011에서
맨 왼쪽 숫자부터 자리값을 나타내면

2진수 1011은
각 자리의 숫자와 자리값을 곱하고, 이것들을 더한 값은 우리가 사용하는 10진수가 됩니다.

그러므로 2진수 1011 을 10진수로 변환하면 11 이 됩니다.^^
10진수를 2진수로 변환하는 방법
자 그럼 이제 10진수 11을 2진수로 변환해 보겠습니다.
10진수 11를 2도 나눈 나머지를 2진수의 첫자리에 오게 하고, 몫은 다시 2로 나누어 나머지를 2진수의 둘째자리에 오게하고, 또 몫을 다시 2로 나누어 세째자리에 오게하고 ... 이 과정을 반복해서 2 미만이 된 몫을 2진수의 맨 왼쪽에 놓으면 됩니다.

11을 2로 나누면 몫은 5이고 이때 나머지는 1 입니다. 이것을 2진수의 첫째자리에 놓는다.
5를 2로 나누면 몫은 2이고 이때 나머지는 1 입니다. 이것을 2진수의 둘째자리에 놓는다.
2를 2로 나누면 몫은 1이고 이때 나머지는 0 입니다. 이것을 2진수의 세째자리에 놓는다.
몫 1은 2보다 작으니까 이것은 그대로 남겨 둡니다. 이것을 2진수의 맨 왼쪽에 놓습니다. 이것이 이진수의 시작 숫자가 되겟지요^^
이렇게 구한 값들을 위 그림의 화살표 방향으로 적으면 1011 입니다. 이것이 10진수 11을 이진수로 변환한 값 입니다.
<다른 예시>
| < 10진수 - > 2진수 > ex) 15 를 2진수로 바꾸기 15/2 = 7 나머지 1 7/2 = 3 나머지 1 3/2 = 1 나머지 1 이진수 값은 1111 또는 15에 가장 가까운 10진수는 "8" (15-8 = 7) 7에 가장 가까운 "4" (7-4= 3) 3에 가장 가까운 "2" (3-2 = 1) "1" =1 + 2 + 4 + 8 = 15 |
16 진수 란?
16 진법은 16 진법으로, 10 진법과는 달리 각 숫자는 16 개의 다른 숫자를 나타냅니다. 시스템은 일반적으로 처음 10 자리의 숫자 0-9를 사용한 후 다음 6 자리의 문자 AF를 사용하여 표시됩니다. 그것은 역사 계산 시스템은 아니지만, 전자 시스템 시대에 기원을 두었습니다. 바이너리 시스템에서 확장하는 것은 매우 사용자 친화적 인 방법이기 때문입니다.
컴퓨터는 이진 (binary)이라는 간단한 base-2 계산 시스템을 사용하여 작동합니다. 그러나 이것은 인간이 상호 작용하기에 상당히 번거로울 수 있습니다. 16 진법은 2 진법 값과 관련하여보다 효율적인 방법을 제공합니다. 16은 2에서 4의 거듭 제곱이기 때문에 단일 숫자는 4 개의 이진수로 볼 수 있습니다. 다시 말해, 이진수로 된 4 자리 숫자는 "16 진수"의 한 자리 숫자로 표현 될 수 있고, 이진수로 된 8 자리 숫자는 2 자리 16 진수 등으로 표현 될 수 있습니다. 이것은 우리가 일반적으로 사용하는 base-10 시스템과 대조적이며, 이는 일관된 배수의 이진수와 균등하게 일치하지 않습니다.
base-32 시스템 및 base-64 시스템과 같이 컴퓨팅에 사용되는 더 큰 기본 시스템이 있지만 16 진은 대부분의 사람들이 상호 작용하기가 훨씬 쉬우므로 가장 널리 퍼져 있습니다. Base-32와 base-64는 모두 컴퓨팅에 응용 프로그램이 있지만 가장 깊은 수준의 코딩을 제외하고는 거의 사용되지 않습니다. 익숙해지기는하지만 프로그래머가 아닌 사람도 종종 16 진수를 정기적으로 사용하고 빨리 적성을 얻는다.
예를 들어, 그래픽 디자인 프로그램을 사용하는 많은 디자이너는 사용 된 색상을 나타내는 16 진 코드 사용에 익숙해집니다. 16 진수는 대부분의 컴퓨터에서 색상 코드가 0에서 256 사이의 세 가지 값 (빨간색, 녹색 및 파란색)으로 구성되기 때문에 이상적인 속기입니다. RGB 또는 빨강-녹색-파랑 256 번은 단순히 16의 2 승이므로 두 자리 숫자로 표현할 수 있습니다. 예를 들어, 색상 코발트 그린은 RGB 값 61,145,64 또는 16 진수 값 # 3D9140으로 표현 될 수 있습니다.
모든 기본 시스템과 마찬가지로 16 진수로 계산하는 것은 다소 간단하지만 언뜻보기에는 복잡 할 수 있습니다. 예를 들어 50으로 계산하면 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13, 14와 같습니다. , 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 2C, 2D , 2E, 2F, 30, 31, 32입니다. 숫자 32에서 카운트가 완료된 것처럼 보이지만 실제로 숫자 50은 16 진수로 표시됩니다. 16 진은 기본적으로 이진 시스템을 기반으로하기 때문에 2의 거듭 제곱으로 작업 할 때 나타나는 흥미로운 단순성이 있습니다. 예를 들어, 2 4 는 단순히 10, 2 5 는 20, 2 6 은 40, 2 7 은 80, 2 8 은 100, 2 9 는 200 등입니다.
표기 방식
우리가 흔히 쓰는 10진법은 0~9까지 표현할 수 있습니다. 마찬가지로 16진법은 0~15까지 표현할 수 있습니다.
대신 10~15까지 표현할 수 있는 숫자가 따로 없기 때문에 A(10), B(11), C(12), D(13), E(14), F(15) 이렇게 표현을 합니다.

16진법이라는 것을 표시하기 위한 방법으로는 몇 가지가 있습니다.
숫자 뒤에 (16)을 붙이거나, 아래 첨자로 16 또는 hex라고 쓰기도 합니다. 또한 흔히 쓰이는 방식으로 "0x"를 앞에 붙이기도 합니다.
16진법 사용이유
컴퓨터에서 10진법, 20진법도 아니고 16진법을 사용하는 이유는 16진수 하나가 2의 4승을 표현할 수 있기 때문입니다.
예를 들어서, 2진법으로 했을 때 1바이트의 값을 "0101 1111"로 표현할 수도 있지만 16진법으로 "0x5F"로도 표현할 수 있습니다.
따라서 2진법보다 자릿수를 덜 차지하기 때문에 효율이 좋아진다는 점입니다.
변환연습
16진법 -> 2진법
0x25FB => 0010 0101 1111 1011 => 00을 떼주고 10010111111011(2)로 적는다.
2진법 -> 16진법
10111010101010101011110100010(2) => 4개씩 끊어줌 => 0001 0111 0101 0101 0101 0111 1010 0010 => 0x175557A2
10진법 -> 16진법
16(10) => 0x10
'Network > 1계층(Pysical)' 카테고리의 다른 글
| Repeater & Hub (리피터와 허브) (0) | 2021.12.27 |
|---|---|
| 1계층(Physical Layer) 물리계층이란? (0) | 2021.10.26 |
| [1계층 : Physical Layer] 통신 Cable 종류와 명명법 (0) | 2021.10.26 |