Algorithm/컴퓨터알고리즘

10진수와 2진수 변환, 10진수와 16진수 변환

와븨 2022. 10. 30. 23:54

2진수 -> 10진수 변환

  • D는 10진수 결과 값 보관하는 변수, SIGN은 양수(1) 음수(-1)를 구분하는 변수이다.
  • T(1)이 양수일 때, 반복문은 T(2)부터 T(8)까지의 반복문을 진행한다. 반복문에서는 T(K)의 가중치를 구하고, T(K)가 1인 경우에만 가중치를 남기고 D에 가중치를 누적한다. 반복문이 끝난 후, 양/음 부호릅 ㅏㄴ복하고 10진수 결과값을 출력한다.
  • T(1)이 음수인 경우, SIGN 변수에 음수임을 기억한 후 감수(B=1)를 반영하고 T(8)부터 T(2)까지 반복문을 진행한다. 반복문에서는 감수를 빼고, 상위 비트에도 감수가 발생하는지 검사한 후 발생한다면 -1을 1로 바꾼 후 1의 보수로 바꾼다. 감수가 발생하지 않는다면 B=0으로 바꿔준 후, 1의 보수로 바꾼다.

 


10진수 -> 16진수

  • 반복문 : 10진수 D를 16으로 나눈 몫을 M에 보관하고, 나머지를 N에 보관한다. T(i)에 나머지 N이 나타내는 16진수 문자를 저장한다. 다음 자릿수를 구하기 위하여 M을 새로운 D로 설정한 뒤 M이 16보다 작으면 H(M)을 마지막 자릿수로 저장하고 끝낸다.
  • 반복문이 끝나면 T(1)부터 T(i)까지 저장된 16진수를 역순으로 출력한다.
댓글수0