본문 바로가기

JAVA를 잡아라!/Java

2진수 10진수 16진수 변환

68 = 104(8)

8) 68

 ------

8)  8 ---4   [68에서 8×8 =64를 빼서 4를써주고]

 ------

    1 ---0   [(8에서 8×1 =8을 빼서 0을 써 줍니다

 8진법으로 쓸 때는 아래서부터 순서 대로 써 줍니다


4를 2진수로 하려면

2) 4  = 100(2)

------

2) 2  --- 0

------

   1 --- 0  

2진수를 10진수로 하려면 2진수 전개식을 써서 계산합니다

100(2) = 1×2² +0×2+ 0×1 = 4

   

10진수-8진수 예를 들어 설명합니다

72 - 104(8)

8진수를 10진수로 고쳐서 빼는 것이 더 쉽습니다

 104(8)를 10진수로 고치려면 8진수 전개식을 써 주어 계산합니다

104(8) = 1×8² +0×8 +4×1 = 64+4 = 68 이므로

72 - 68 = 4


8진수는 0, 1,2 3,4,5,6,7 이렇게 8개의 숫자로 이루어진 수를 말하는것이므로

  8개가 되면 앞자리로 1 이 올라가 10(8) 이 됩니다.

2진수는 0,1 만 사용하므로 2개가 되면 10(2), 3 = 11(2), 4=100(2)이 됩니다

10진수는 우리가 사용하는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 의 10개의 숫자를 사용하여

   10묶음식 앞 자리로 올라가 일, 십 백, 천...의 자리로 나타냅니다

1234를 10진수 전개식으로 나타내면

1234 = 1×·1000+2×·100+3×10+ 4×1

     = 1×·10³ +2×·10² +3×10+ 4×1으로 나타냅니다.

 


신고

의견 쓰기

re: 2진수 8진수 10진수 16진수 변환법

lobbist2

답변채택률 81.9%

2008.04.03 11:29

우선 10진수를 2진수, 8진수, 16진수로 바꾸는 방법을 설명해드리겠습니다.

예를 들어주신 68을 예로 들어 보겠습니다.


2진수변환)


2 )  68

   -----

2 )  34  ---  0

   -----

2 )  17  ---  0

   -----

2 )    8  ---  1

   -----

2 )    4  ---  0

   -----

2 )    2  ---  0

   -----

        1  ---  0


따라서 10진수 68=1000100 (2) 로 변환 할 수 있습니다.


8진수 변환

8 )  68

   -----

        8  --- 4


따라서 10진수 68= 84 (8)로 변환됨을 알 수 있습니다.


16진수 변환

우리가 일상적으로 쓰는 10진수보다 6이 더 큰경우입니다.

우리가 쓰는 10진수를 나열해보면

0, 1, 2, 3, 4, 5, 6, 7, 8, 9   로 쓸수 있습니다.  그렇다면 16진수는 어떻게 표시할까요?


0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 로 표기를 합니다 9까지는 10진수와 같지만

10대신 A, 11대신 B,.... 15대신 F를 사용합니다.


이제 다시 십진수 68을 16진수로 바꿔봅시다


16 )  68

     -----

         4  ---  4


따라서 10진수 68을 16진수로 바꾸면 44 (16) 이되는것을 알 수 있습니다.


만약 75를 16진수로 바꾼다면?


16 ) 75

    -----

        4   ---  11


75= 4B (왜냐하면 11대신 16진수에서는 B를 사용하기 때문입니다)


이제 각 진수를 10진수로 바꾸는 법도 같이 한번 생각해 볼까요?


75가 어떻게 구성된수인지 한번 살펴보면

으로 표현 할 수 있습니다.


각 진수를 10진수로 바꿀때도 동일 한 규칙이 사용됩니다.

1000100 (2)를 10진수로 바꾸면

간단히 변환하면


84 (8)를 10진수로 바꾸면?


4B (16)를 10진수로 바꾸면?



이제 10진수를 진수로 변환하는 법과 진수를 다시 10진수로 변환하는 법을 아시겠죠?


그런데 우리가 일상 생활에서 진수를 언제 사용하고 왜 필요한지...


컴퓨터가 연산하는 모든 과정은 2진수를 기준으로 사용합니다.

0아니면 1인 논리를 이용해서 사용되고 있습니다.


16진수의 경우는 컴퓨터가 통신 할 수 있게 해주는 랜카드 등의 하드웨어 주소를 16진수로 표기합니다.

10진수로 표기 했을때보다 더많은 주소를 관리 할 수있게 됩니다.


궁금하셨던 부분이 해결 됬는지 모르겠군요...^^;;

출처:네이버지식인