진수변환 빠르게 하는 방법
2019.11.28 비공개 조회 2,375
안녕하세요.

진수값이 큰경우 10진수를 8진수나 16진수로 변환할때 시간이 오래 걸리는데 이 경우 좋은 팁이 있을까요
댓글 /1000
답변 1개
비공개님의 답변입니다.
평민 채택 0 2019-11-28 11:16
안녕하세요~ 답변드립니다.
기본적으로 변환법 말고 만약 2의 지수스의 값을 기본적으로 잘 외워서 적용하실수 있다면,
2진수로 변환된 값을 8진수 혹은 16진수로 변환하시는 것도 하나의 방법입니다.
이때, 2의 지수승의 값은 여러모로 많이 사용되는 값이므로 아예 암기해두시면 여기저기 계산 적용에 아주 유용합니다.
가장 일반적인 2의 0승에서 10승까지의 값입니다. 이것은 기본적으로 암기를 해두시는 것이 좋습니다.
그리고 이 값들의 합의 값들의 경우를 잘 기억하시고 있으셔도 빠른 계산에 더욱 유용합니다.
 
이것을 적용하여 10진수를 2진수로 변환한뒤에, 8진수와 16진수로 변환을 하는 예시를 한번 알아볼께요~
10진수 833 은 2진수로 얼마일까요? 위의 2의 지수승 값을 가지고 적용해보시면 51 2+ 25 6+ 64 + 1 = 833
2의 지수승르로 표현을 하면 29  + 28  + 26  + 20  = 833  입니다.
그러면 위에서 계산에 참여한 29   28   26   20   이렇게 4군데 비트 자리는 2진수 1로 표현하고 나머지는 0으로 표현을 하시면 2진수의 변화 표현이 끝납니다.
====>결과: 10진수 833 은 2진수 1101000001 로 표현됩니다.
 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
계속이이서 2진수로 변환된 값을 8진수로 변환시, 뒤에서부터 올라오면서 3개비트자리씩 끈어서 421 가중값 적용
(구분의 편의를 위해 자리띄기로 구분할께요) - 앞쪽에 모자라는 자리는 0으로 채워서 표현
001     101     000     001
421     421     421     421
-----------------------------
  1       5        0         1      <======= 이 값이 8진수로 변환된 값표현,   8진수 1501 입니다.
 
 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
 
계속이이서 2진수로 변환된 값을 16진수로 변환시, 뒤에서부터 올라오면서 4개비트자리씩 끈어서 8421 가중값 적용
(구분의 편의를 위해 자리띄기로 구분할께요) - 앞쪽에 모자라는 자리는 0으로 채워서 표현
0011     0100      0001
8421     8421      8421    
-----------------------------
  3           4          1      <======= 이 값이 16진수로 변환된 값표현,   16진수 341 입니다.
 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
예시때문에 설명이 다소 길지만 잘 읽어보시면 진수 상호간에 빠른 변화에 도움이 많이 됩니다.
학습에  참고해주세요~