2진법, 10진법, 16진법, bit

2023. 2. 1. 02:25Java Study Note

반응형

2진법(0,1), 10진법(0~9) 계산방법


10진법              
8

4

2

1

0       0
1       1
2     1 0
3     1 1
4   1 0 0
5   1 0 1
6   1 1 0
7   1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0

위의 표와 같이 10진법(왼쪽)을 2진법으로 표시하였다. 

2진법은 0와 1로만 표시되고 각 자리수에 해당되는 수는  1,2,4,8,16,32,64...  와 같이 2배씩 커진다. 

 

이해가 잘 안 되죠 예를 들어봅시다. 

 

예1: 

2진법 1010111을 10진법으로 변환하면 64+0+16+0+4+2+1= 87이다.

왼쪽에서 첫번째 자리의 1은 숫자1을 표시하고

왼쪽에서 두번째 자리의 1은 숫자 2를 표시하고

왼쪽에서 3번째 자리의 1은 숫자 4를 표시하고

왼쪽에서 4번째 자리는  0으로 되어 있어 숫자를 적용하지 않는다.

왼쪽에서 5번째 자리의 1은 숫자 16을 표시하고 

왼쪽에서 6번재 자리의 0은 숫자를 적용하지 않는다. 

왼쪽에서 7번째 자리의 1은 숫자 64을 표시한다. 

각 자리에 대응되는 숫자를 모두 더하면  64+0+16+0+4+2+1= 87 이다. 

2진법의  1010111 = 10진법의  87

 

 

예2:

2진법 1111을 10진법으로 변환하면 8+4+2+1 = 15 이다.

왼쪽에서 첫번째 자리의 1은 숫자1을 표시하고

왼쪽에서 두번째 자리의 1은 숫자 2를 표시하고

왼쪽에서 3번째 자리의 1은 숫자 4를 표시하고

왼쪽에서 4번째 자리의 1은 숫자 8를 표시한다. 

각 자리에 대응되는 숫자를 모두 더하면 8+4+2+1 = 15 이다. 

즉 

2진법의 1111 = 10진법의 15

 

예3: 

2진법 10000을 10진법으로 변환하면 16+0+0+0+0 = 16

왼쪽에서 1번째 자리부터 4번째 자리까지는 모두  0으로 되어 있어 숫자를 적용하지 않는다.

왼쪽에서 5번째 자리의 1은 숫자 16을 표시한다. 

0을 제외한 1로 표시되어 있는 자리수의 해당되는 숫자를 모두 더하면 16+0+0+0+0 = 16이 된다 . 

즉 

2진법의  10000 = 10진법의  16

 

bit 

1bit = 2진법의 1개 숫자

예: 1011 = 4bit,   10111 = 5bit, 11000111 = 8bit

 

8bit = 1byte

예: 11000111 = 8bit = 1byte

 

1024byte = 1KB

1024KB = 1MB

1024MB = 1GB

1024GB = 1TB

 

16진법(0~9,A,B,C,D,E,F)

16진법은 16가지 숫자와 문자를 이용하여 표현한다. 

숫자0~9 와 A~F 영문문자

A,B,C,D,E,F 는 각각 숫자를 대표합니다. 

A->10

B->11

C->12

D->13

E->14

F ->15

 

그럼 바로 16진법을 계산해봅시다. 

 

먼저 2진법 10011111을 10진법을 표현해보자

=> 128+16+8+4+2+1=159

 

그럼 2진법 10011111을 16진법으로 변환해보자

16진법은 2^4 으로 표시할 수 도 있다. 

따라서 16진법은 4자리수씩 잘라서 계산한다. 

즉 2진법 1001 과 1111 을 각각 10진법으로 먼저 계산하고 16진법에 적용한다.
2진법 1001  => 10진법  8+1=9 ,   2진법 1111 => 10진법 8+4+2+1=15     =    16진법F

따라서, 

2진법의  10011111   =   16진법의   9F

 

 

 

 

 

 

 

 

반응형

'Java Study Note' 카테고리의 다른 글

Spring 시작 Day2  (0) 2023.02.05
Spring 시작 Day1  (0) 2023.02.04
연산자와 피연산자  (0) 2023.01.24
객체지향 프로그래밍 1  (0) 2023.01.23
배열(Array)  (0) 2023.01.23