이진수를 나누는 방법

작가: Mark Sanchez
창조 날짜: 2 1 월 2021
업데이트 날짜: 1 칠월 2024
Anonim
진법(10진수, 8진수, 16진수, 2진수) 변환 방법
동영상: 진법(10진수, 8진수, 16진수, 2진수) 변환 방법

콘텐츠

이진수는 프로세스 자체를 더 잘 이해하거나 간단한 컴퓨터 프로그램을 작성하기 위해 열로 나눌 수 있습니다. 프로그래밍에서 거의 사용되지 않는 보수 방법을 사용할 수도 있습니다. 일반적으로 기계 언어는 점수 알고리즘을 사용하여 더 효율적이지만 이 기사의 내용은 이것이 아닙니다.

단계

방법 1/2: 긴 나눗셈

  1. 1 열로 나누기 두 개의 소수. 긴 나눗셈을 잊어버린 경우 두 개의 소수(10진수)를 172 ÷ 4로 나눕니다. 긴 나눗셈이 크면 다음 단계로 이동하여 이진수 나누는 방법을 알아보세요.
    • 피제수 로 나눈 분할기 그리고 그것은 밝혀졌다 사적인.
    • 제수를 피제수의 첫 번째 숫자와 비교하십시오. 제수가 이 숫자보다 크면 제수가 문제의 숫자보다 작을 때까지 제수를 피제수의 두 자리와 비교하는 식으로 계속합니다. 이 예에서는 4와 1을 비교하고 4> 1임을 확인한 다음 4를 17과 비교합니다.
    • 제수 아래에 몫의 첫 번째 숫자를 씁니다. 4와 17을 비교하면 나머지가 포함된 17 ÷ 4 = 4임을 알 수 있으므로 제수(4) 아래의 몫의 첫 번째 숫자로 4를 씁니다.
    • 곱하고 빼서 나머지를 찾습니다. 몫의 첫 번째 숫자에 제수를 곱합니다. 이 예에서는 4 x 4 = 16입니다. 17 아래에 16을 쓴 다음 17 - 16을 빼서 1의 나머지를 찾습니다.
    • 비교를 반복합니다. 제수 4를 1의 나머지와 비교하고, 4> 1에 유의하고, 4를 12와 비교하기 위해 피제수의 다음 자릿수를 "캐리"합니다. 나머지가 없는 12 ÷ 4 = 3이므로 3을 의 두 번째 자릿수 몫. 최종 답은 43입니다.
  2. 2 열은 두 개의 이진수를 나눕니다. 예를 들어, 10101 ÷ 11입니다. 여기서 10101은 피제수이고 11은 제수입니다. 계산을 위한 충분한 공간을 남겨두십시오.
  3. 3 제수를 피제수의 첫 번째 숫자와 비교하십시오. 2진수의 경우 10진수보다 하기가 더 쉽습니다. 숫자를 제수로 나눌 수 없고 0을 쓰거나 나누어서 1을 씁니다.
    • 11> 1이므로 1은 11로 나눌 수 없습니다. 몫의 첫 번째 숫자(제수 아래)로 0을 씁니다.
  4. 4 1이 될 때까지 제수를 계속 비교하십시오. 우리의 예에서:
    • 제수를 피제수 두 자리와 비교하십시오. 11> 10. 몫의 두 번째 자리에 0을 씁니다.
    • 제수를 피제수 세 자리와 비교하십시오. 11 101. 몫의 세 번째 자리에 1을 쓰십시오.
  5. 5 나머지를 계산합니다. 찾은 숫자(1)에 제수(11)를 곱하고 결과를 피제수 아래(즉, 해당 숫자 아래)에 씁니다. 1에 제수를 곱하면 항상 제수가 됩니다.
    • 피제수 아래에 제수를 씁니다. 이 예에서는 피제수의 처음 세 자리(101) 아래에 11을 씁니다.
    • 101 - 11을 빼서 나머지 10을 구하세요. 이진수를 빼는 방법을 기억하지 못한다면 이 기사를 읽어보세요.
  6. 6 문제가 해결될 때까지 설명된 단계를 반복하십시오. 나머지에 피제수 다음 자릿수를 더하면 100이 됩니다. 11 100부터 몫의 네 번째 자릿수에 1을 씁니다. 추가 계산:
    • 100 아래에 11을 쓰고 나머지 1을 얻으려면 빼십시오.
    • 나머지에 피제수 마지막 숫자를 더하면 11이 됩니다.
    • 11 = 11이므로 몫의 마지막 숫자로 1을 씁니다.
    • 나머지가 없으므로 문제가 해결됩니다. 답변: 00111 아니면 그냥 111.
  7. 7 소수점을 추가합니다(필요한 경우). 때로는 결과가 정수가 아닙니다. 피제수의 마지막 자릿수를 사용한 후 나머지가 나오면 피제수에 ", 0"을 추가하고 몫에 ","를 추가하여 다음 자릿수를 "철거"하고 계산을 계속하십시오. 원하는 결과를 얻을 때까지 이 과정을 반복한 다음 답을 반올림하십시오. 결과를 반올림하려면 마지막 0을 제거하거나 마지막 숫자가 1이면 삭제하고 새 마지막 숫자에 1을 추가합니다. 프로그래밍할 때 표준 반올림 알고리즘 중 하나를 따라 이진수와 십진수를 변환할 때 오류를 방지하십시오.
    • 두 개의 이진수를 나누면 소수 부분이 반복될 수 있습니다. 이것은 십진수를 나눌 때보다 더 자주 발생합니다.
    • 소수점은 10진법뿐만 아니라 2진법에도 사용된다는 점에 유의하십시오.

방법 2/2: 보충제

  1. 1 기본 원리를 이해합니다. 두 숫자(십진수와 이진수)를 나누려면 피제수에서 제수를 뺀 다음 음수가 될 때까지 나머지에서 제수를 연속적으로 뺍니다. 이 경우 얼마나 많은 빼기가 수행되었는지 계산해야 합니다. 예를 들어, 26 ÷ 7을 계산하십시오.
    • 26 - 7 = 19(1 빼기)
    • 19 - 7 = 12 (2)
    • 12 - 7 = 5 (3)
    • 5 - 7 = -2. 음수이므로 더 이상 뺄 필요가 없습니다. 답: 3이고 나머지는 5입니다. 이 방법은 답의 소수 부분을 계산하지 않습니다.
  2. 2 덧셈법의 기초를 이해한다. 위의 방법을 이진수에 적용하거나 이진수의 나눗셈을 프로그래밍할 때 시간을 절약할 수 있는 보다 효율적인 방법을 사용할 수 있습니다. 이 방법을 보수 방법이라고 합니다. 예를 들어, 111 - 011을 뺍니다(두 숫자의 자릿수가 같아야 함).
    • 두 번째 숫자의 보수를 찾으십시오. 이렇게 하려면 이 숫자의 각 자릿수를 1에서 빼십시오. 이진수에서는 1을 0으로, 0을 1로 바꾸면 됩니다. 이 예에서 011은 100이 됩니다.
    • 결과에 1: 100 + 1 = 101을 더하세요. 이 과정을 2의 보수라고 하며 빼기를 더하기로 바꿀 수 있습니다. 기본적으로 이 방법은 양수를 빼는 대신 음수를 더하는 것입니다.
    • 결과를 첫 번째 숫자에 추가합니다. 덧셈 연산을 기록하고 계산하십시오: 111 + 101 = 1100.
    • 최종 답을 얻으려면 결과의 첫 번째 숫자를 버리십시오: 1100 → 100.
  3. 3 위에서 설명한 두 가지 방법을 결합합니다. 첫 번째 방법은 순차 빼기 방법이고 두 번째 방법은 2의 보수 방법입니다. 이러한 방법을 하나로 결합하여 숫자를 나누는 데 사용할 수 있습니다(방법을 결합하는 과정은 아래에 설명되어 있음). 원하는 경우 두 가지 방법을 직접 결합하는 방법을 알아내십시오.
  4. 4 뺄셈을 2의 보수 덧셈으로 대체하여 피제수에서 제수를 뺍니다. 예: 100011 ÷ 000101.먼저 뺄셈 100011 - 000101을 2의 보수를 사용하여 덧셈으로 바꿉니다.
    • 2의 보수: 000101 = 111010 + 1 = 111011
    • 더하기: 100011 + 111011 = 1011110
    • 첫 번째 숫자 제거: 011110
  5. 5 몫에 1을 더합니다. 컴퓨터 프로그램에서 이것은 몫이 1씩 증가하는 문자열입니다. 혼동을 피하기 위해 종이에 메모하십시오. 성공적으로 한 번 빼므로 이 시점에서 몫은 1입니다.
  6. 6 설명된 과정을 반복합니다. 이렇게 하려면 나머지에서 제수를 뺍니다. 나머지는 마지막 계산의 결과입니다. 뺄셈 연산을 덧셈으로 대체: 2의 보수 제수를 나머지에 더한 다음 결과의 첫 번째 숫자를 제거합니다. 각 뺄셈 후에 몫에 1을 더하고 나머지가 제수보다 작거나 같을 때까지 위의 과정을 반복합니다.
    • 011110 + 111011 = 1011001 → 011001 (몫 1 + 1 = 10)
    • 011001 + 111011 = 1010100 → 010100 (몫 10 + 1 = 11)
    • 010100 + 111011 = 1001111 → 001111 (11+1=100)
    • 001111 + 111011 = 1001010 → 001010 (100+1=101)
    • 001010 + 111011 = 10000101 → 0000101 (101+1=110)
    • 0000101 + 111011 = 1000000 → 000000 (110+1=111)
    • 0은 101보다 작으므로 더 이상 계산할 필요가 없습니다. 사적인 111 나눗셈 연산의 최종 결과입니다. 나머지는 빼기 연산의 최종 결과입니다. 이 예에서는 0(나머지 없음)입니다.

  • 결과가 양수인지 음수인지 알아야 하는 경우가 아니면 부호 있는 이진수의 부호 비트를 무시하십시오.
  • 숫자에 다른 자릿수가 포함된 경우 2의 보수 방법이 적용되지 않습니다. 이 경우 해당 숫자 0을 더 낮은 숫자(왼쪽)에 추가합니다.
  • 기계 명령어에 이진 연산을 적용하기 전에 스택을 늘리거나, 줄이거나, 팝하는 명령어를 고려해야 합니다.