앞서 10 진수를 기준으로 2,8,16 진수의 변환을 알아 보았습니다. 이번에는 2진수를 8진수와 16진수로 변환하는 방...

Posted in References  /  by Hogeony  /  on Sep 17, 2011 09:46
앞서 10 진수를 기준으로 2,8,16 진수의 변환을 알아 보았습니다. 
  
이번에는 2진수를 8진수와 16진수로 변환하는 방법과 
8진수,16진수를 2진수로 변환하는 방법을 알아 봅니다. 
  
1. 2진수를 16진수로 변환하기. 
2진수로 데이터가 저장되는 정보의 최소 단위인 비트가 4개 모이면 16진수 한 자리에 해당됩니다. 
즉, 아래와 같이 4비트에 메모리에 저장할 수 있는 최대값은 15 가(16진수 f) 됩니다 
  
  1
  1
  1
  1

(1 * 23) + (1 * 22) + (1 * 21) + (1 * 20) = 15(10진수) = F(16진수)

따라서 2진수 4자리는 16진수 한자리에 해당되므로

아래와 같은 2진수를 16진수로 변환 할때는 4자리씩 끊어서 16진수 한자리로 변환하면 됩니다.

11011111 = 1101  1111  =  DF  가 됩니다. 

또한 4자리로 끊었을때 자리수가 부족하면 0으로 채워서 계산하면 됩니다.

1101111 = 0110  1111  =  6F 가 됩니다. 

그리고 소수점을 포함한 2진수도 마찬가지 개념으로 변환하면 됩니다.

1011.011 = 1011  .  0110  = B.6 가 됩니다. 


2. 2진수를 8진수로 변환하기

위의 개념과 완전 동일합니다.

2진수 비트 3개는 8진수 한자에 해당 됩니다.

 

  1
  1
  1

(1 * 22) + (1 * 21) + (1 * 20) = 7(10진수) = 7(8진수)

따라서 2진수 3자리는 8진수 한자리에 해당되므로

아래와 같은 2진수를 8진수로 변환 할때는 3자리씩 끊어서 8진수 한자리로 변환하면 됩니다. 
100101= 100  101  =  45 가 됩니다. 

또한 3자리로 끊었을때 자리수가 부족하면 0으로 채워서 계산하면 됩니다.

10101 = 010  101  =  25 가 됩니다. 

그리고 소수점을 포함한 2진수도 마찬가지 개념으로 변환하면 됩니다. 
100101.1011 = 100  101  .  101  100  = 45.54 가 됩니다. 
  

========================================================================== 
  
2진수를 8진수,16진수를 변환하는 방법에 대해 위에서 살펴 봤습니다. 
그러면 그 역은, 8,16진수를 2진수로 변환하는 방법은 그저 먹기지요?? 
위 개념을 역으로 하면 될테지요.. 
별도의 설명이 필요 없겠으나 하나씩만 해 봅니다. 
  
1.  16진수를 2진수로 변환하기 
위에서 사용한 수를 가지고 해 봅니다. 
위에서 2진수를 16진수로 변환할때 아래와 같았습니다. 
11011111 = 1101  1111  =  DF 
  
16 진수 DF를 2진수로 변환할려면 16진수 한자리는 2진수 4자리에 해당되므로 
D F  =  13  15  = 1101   1111  가 됩니다. 
  
소수점을 가지는 16진수도 완전히 동일하겠지요.. 예는 생략 합니다. 
  
2.  8진수를 2진수로 변환하기 
역시 위에서 사용한 수를 가지고 해 봅니다. 
위에서 2진수를 8진수로 변환할때 아래와 같았습니다. 
100101= 100  101  =  45 
  
8진수 45를 2진수로 변환할려면 8진수 한자리는 2진수 3자리에 해당되므로 
4 5  = 100  101  가 됩니다.


========================================================================== 

#출처 : http://www.mkexdev.net/Article/Content.aspx?parentCategoryID=2&categoryID=9&ID=100

#작성자 : 박종명

Me2day Yozm
  1. 태그
  2. 문서정보
  3. 이 게시물을...
  4. SNS
    Social Network Service
Comment '1'

Leave Comments


  • ?
    from. Hogeony   on 2011.09.17 09:53  (*.130.10.73)
    8진수의 곱셈이나 16진수의 곱셈/나눗셈을 다른 진법으로 고치지 않고 바로 할 수 있다면, 8진수 <-> 16진수 간 변환 가능

    8진수를 16진수로 변경하려면 주어진 8진수를 10진수 16에 해당하는 20(8)로 나누고 몫과 나머지를 나란히 쓰시면 됩니다 (10진수 -> 2진수의 방법과 동일) 그래서 나머지를 차례대로 쓰면 그게 답입니다.

    하지만 만약 그것이 혼동되어 하지 못한다면 10진수나 2진수로 바꿔놓고 하여야 합니다.

    346720(8) / 20(8)을 풀어서 몫과 나머지를 구할 줄 안다면 이 방법으로 변환가능.

제목 최근 수정일
2진수 <-> 8 진수, 16 진수 변환 [1] 2011.09.17