이진법에서 십진법까지 온라인. 정수 십진수를 이진수로 변환합니다. 숫자를 이진수에서 십진수로 변환

숫자를 10진수 체계에서 2진수 체계로 빠르게 변환하려면 숫자 "2의 거듭제곱"에 대한 지식이 필요합니다. 예를 들어 2 10 =1024 등입니다. 이를 통해 문자 그대로 몇 초 만에 일부 번역 예제를 해결할 수 있습니다. 이러한 작업 중 하나는 USE 데모 2012의 문제 A1. 물론 숫자를 "2"로 나누는 데는 길고 지루한 시간이 걸릴 수 있습니다. 하지만 다르게 결정하여 시험에 귀중한 시간을 절약하는 것이 좋습니다.

방법은 매우 간단합니다. 그 요점은 다음과 같습니다. 십진법에서 변환해야 하는 숫자가 "2의 거듭제곱"과 같으면 이진법의 이 숫자에는 거듭제곱과 동일한 수의 0이 포함됩니다. 이 0 앞에 "1"을 추가합니다.

  • 10진수 체계에서 숫자 2를 변환해 보겠습니다. 2=2 1 . 따라서 이진법에서는 숫자에 0이 1개 포함됩니다. 앞에 "1"을 넣으면 10 2가 됩니다.
  • 10진수 체계에서 4를 변환해 보겠습니다. 4=2 2 . 따라서 이진법에서는 숫자에 0이 2개 포함됩니다. 앞에 "1"을 넣으면 100 2가 됩니다.
  • 10진수 체계에서 8을 변환해 보겠습니다. 8=2 3 . 따라서 이진법에서는 숫자에 0이 3개 포함됩니다. 앞에 "1"을 넣으면 1000 2가 됩니다.


다른 숫자 "2의 거듭제곱"도 마찬가지입니다.

변환해야 하는 숫자가 숫자 "2의 거듭제곱"보다 1만큼 작은 경우 이진법에서 이 숫자는 단위로만 구성되며 그 수는 거듭제곱과 같습니다.

  • 10진수 체계에서 3을 변환해 보겠습니다. 3=2 2 -1. 따라서 이진법에서는 숫자에 1이 2개 포함됩니다. 우리는 11 2를 얻습니다.
  • 10진수 체계에서 7을 변환해 보겠습니다. 7=2 3 -1. 따라서 이진법에서는 한 숫자에 1이 3개 포함됩니다. 우리는 111 2를 얻습니다.

그림에서 사각형은 숫자의 이진수 표현을 나타내고, 왼쪽의 분홍색은 십진수 표현을 나타냅니다.


번역은 다른 숫자 "2의 거듭제곱-1"과 유사합니다.

0에서 8까지의 숫자 변환은 신속하게 또는 나눗셈으로 수행할 수 있거나 이진 시스템에서의 표현을 암기할 수 있다는 것이 분명합니다. 나는 여러분이 이 방법의 원리를 이해하고 이를 사용하여 더 "인상적인 숫자"를 번역할 수 있도록 이러한 예를 제공했습니다. 예를 들어 숫자 127,128, 255, 256, 511, 512 등을 번역합니다.

"2의 거듭제곱"과 같지 않지만 그에 가까운 숫자를 변환해야 할 때 이러한 문제가 발생할 수 있습니다. 2승보다 크거나 작을 수 있습니다. 번역된 숫자와 "2의 거듭제곱" 숫자 사이의 차이는 작아야 합니다. 예를 들어 최대 3입니다. 이진 시스템에서 0부터 3까지의 숫자 표현은 변환 없이 알려지면 됩니다.

숫자가 보다 크면 다음과 같이 해결하십시오.

먼저 숫자 "2의 거듭제곱"을 이진법으로 변환합니다. 그런 다음 "2의 거듭제곱"이라는 숫자와 번역되는 숫자의 차이를 여기에 추가합니다.

예를 들어, 19를 십진법으로 변환해 보겠습니다. "2의 거듭제곱"보다 3이 더 큽니다.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

숫자가 "2의 제곱"보다 작으면 "2의 1제곱" 숫자를 사용하는 것이 더 편리합니다. 우리는 다음과 같이 해결합니다.

먼저 숫자 "2의 거듭제곱-1"을 이진법으로 변환합니다. 그런 다음 "2의 1승" 숫자와 번역되는 숫자의 차이를 그 숫자에서 뺍니다.

예를 들어, 29를 10진수로 변환해 보겠습니다. 이는 "2의 1제곱"보다 2만큼 큽니다. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

변환되는 숫자와 "2의 거듭제곱" 숫자 사이의 차이가 3보다 크면 숫자를 구성 요소로 나누고 각 부분을 이진 시스템으로 변환한 다음 더할 수 있습니다.

예를 들어, 10진수 체계에서 숫자 528을 변환합니다. 528=512+16. 우리는 512와 16을 별도로 번역합니다.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
이제 열에 추가해 보겠습니다.

이진법으로 숫자를 쓰고 오른쪽에서 왼쪽으로 2의 거듭제곱을 씁니다.예를 들어, 이진수 10011011 2를 십진수로 변환하려고 합니다. 먼저 적어 보겠습니다. 그런 다음 오른쪽에서 왼쪽으로 2의 거듭제곱을 씁니다. "1"과 동일한 2 0부터 시작하겠습니다. 우리는 각 후속 숫자에 대해 1씩 차수를 증가시킵니다. 목록의 요소 수가 이진수의 자릿수와 같을 때 중지합니다. 예제 번호 10011011은 8자리이므로 8개 요소의 목록은 다음과 같습니다: 128, 64, 32, 16, 8, 4, 2, 1

해당하는 2의 거듭제곱 아래에 이진수의 자릿수를 쓰세요.이제 숫자 128, 64, 32, 16, 8, 4, 2, 1 아래에 10011011을 쓰면 각 이진수는 서로 다른 2의 거듭제곱에 해당됩니다. 이진수의 가장 오른쪽 "1"은 2의 거듭제곱 중 가장 오른쪽 "1"에 해당해야 합니다. 원하는 경우 2의 거듭제곱보다 큰 이진수를 쓸 수 있습니다. 가장 중요한 것은 서로 일치한다는 것입니다.

이진수의 숫자를 해당하는 2의 거듭제곱과 일치시킵니다.이진수의 연속된 각 숫자를 그 위의 2의 거듭제곱에 연결하는 선을 (오른쪽에서 왼쪽으로) 그립니다. 이진수의 첫 번째 숫자를 그 위의 2의 첫 번째 거듭제곱에 연결하여 선 그리기를 시작하세요. 그런 다음 이진수의 두 번째 숫자에서 2의 두 번째 거듭제곱까지 선을 그립니다. 계속해서 각 숫자를 해당하는 2의 거듭제곱에 연결하세요. 이렇게 하면 서로 다른 두 숫자 집합 간의 관계를 시각적으로 확인하는 데 도움이 됩니다.

2의 각 거듭제곱의 최종 값을 적어보세요.이진수의 각 자리를 살펴보세요. 숫자가 1이면 숫자 아래에 해당하는 2의 거듭제곱을 쓰세요. 이 숫자가 0이면 숫자 아래에 0을 쓰세요.

  • "1"은 "1"과 일치하므로 "1"로 유지됩니다. "2"는 "1"과 일치하므로 "2"로 유지됩니다. "4"는 "0"에 해당하므로 "0"이 됩니다. "8"은 "1"과 일치하므로 "8"이 되고, "16"은 "1"과 일치하므로 "16"이 됩니다. "32"는 "0"과 일치하여 "0"이 되고, "64"는 "0"과 일치하여 "0"이 되고, "128"은 "1"과 일치하여 128이 됩니다.
  • 결과 값을 더합니다.이제 결과 숫자를 줄 아래에 추가하십시오. 해야 할 일은 다음과 같습니다: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 155. 이는 이진수 10011011에 해당하는 십진수입니다.

    숫자 체계와 동일한 첨자와 함께 답을 쓰십시오.이제 당신이 해야 할 일은 155 10을 써서 10의 거듭제곱을 다루는 소수 답을 사용하고 있음을 보여주는 것입니다. 이진수를 십진수로 더 많이 변환할수록 2의 거듭제곱을 기억하는 것이 더 쉬워지고 작업을 더 빨리 완료할 수 있습니다.

  • 소수점이 있는 이진수를 소수 형식으로 변환하려면 이 방법을 사용합니다. 1.1 2와 같은 이진수를 십진수로 변환하려는 경우에도 이 방법을 사용할 수 있습니다. 당신이 알아야 할 것은 소수점 왼쪽의 숫자는 일반 숫자이고, 소수점 오른쪽의 숫자는 "반" 숫자, 즉 1 x (1/2)이라는 것입니다.

    • 십진수 왼쪽의 "1"은 2 0 또는 1에 해당합니다. 십진수 오른쪽의 1은 2 -1 또는 .5에 해당합니다. 1과 0.5를 더하면 1.5가 되는데, 이는 1.1 2에 해당하는 십진수입니다.
  • 참고 1

    숫자를 한 숫자 체계에서 다른 숫자 체계로 변환하려면 먼저 십진수 체계로 변환한 다음 십진수 체계에서 다른 숫자 체계로 변환하는 것이 더 편리합니다.

    숫자 체계의 숫자를 십진수로 변환하는 규칙

    기계 연산을 사용하는 컴퓨팅 기술에서는 숫자를 한 숫자 체계에서 다른 숫자 체계로 변환하는 것이 중요한 역할을 합니다. 아래에서는 이러한 변환(번역)에 대한 기본 규칙을 제공합니다.

      이진수를 십진수로 변환할 때 이진수를 다항식으로 표시해야 하며, 각 요소는 숫자의 자릿수와 해당 밑수의 거듭제곱의 곱으로 표시됩니다. 이 경우$2$, 그리고 십진수 산술 규칙을 사용하여 다항식을 계산해야 합니다.

      $X_2=A_n \cdot 2^(n-1) + A_(n-1) \cdot 2^(n-2) + A_(n-2) \cdot 2^(n-3) + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

    그림 1. 표 1

    실시예 1

    숫자 $11110101_2$를 10진수 체계로 변환합니다.

    해결책.기본 $2$의 $1$ 거듭제곱에 대한 주어진 표를 사용하여 숫자를 다항식으로 나타냅니다.

    $11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_(10)$

      숫자를 8진수 체계에서 10진수 체계로 변환하려면 숫자를 다항식으로 표현해야 하며, 각 요소는 숫자의 숫자와 해당 밑수의 거듭제곱의 곱으로 표시됩니다. $8$의 경우에는 십진수 산술 규칙에 따라 다항식을 계산해야 합니다.

      $X_8 = A_n \cdot 8^(n-1) + A_(n-1) \cdot 8^(n-2) + A_(n-2) \cdot 8^(n-3) + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

    그림 2. 표 2

    실시예 2

    숫자 $75013_8$을 10진수 체계로 변환합니다.

    해결책.기본 $8$의 주어진 $2$ 거듭제곱 표를 사용하여 숫자를 다항식으로 나타냅니다.

    $75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_(10)$

      숫자를 16진수에서 10진수로 변환하려면 숫자를 다항식으로 표현해야 합니다. 각 요소는 숫자의 자릿수와 해당 밑수의 거듭제곱(이 경우 $16$)의 곱으로 표시됩니다. 소수 연산 규칙에 따라 다항식을 계산해야 합니다.

      $X_(16) = A_n \cdot 16^(n-1) + A_(n-1) \cdot 16^(n-2) + A_(n-2) \cdot 16^(n-3) + . .. + A_2 \cdot 16^1 + A_1 \cdot 16^0$

    그림 3. 표 3

    실시예 3

    숫자 $FFA2_(16)$를 10진수 체계로 변환합니다.

    해결책.기본 $8$의 주어진 $3$ 거듭제곱 표를 사용하여 숫자를 다항식으로 나타냅니다.

    $FFA2_(16) = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_(10)$

    십진수 체계에서 다른 숫자 체계로 숫자를 변환하는 규칙

    • 10진수 체계에서 2진수 체계로 숫자를 변환하려면 나머지가 $1$보다 작거나 같을 때까지 $2$로 순차적으로 나누어야 합니다. 이진법의 숫자는 나눗셈의 마지막 결과와 나눗셈의 나머지를 역순으로 나타낸 것입니다.

    실시예 4

    숫자 $22_(10)$를 이진수 시스템으로 변환합니다.

    해결책:

    그림 4.

    $22_{10} = 10110_2$

    • 10진수 체계에서 8진수로 변환하려면 나머지가 $7$보다 작거나 같을 때까지 $8$로 순차적으로 나누어야 합니다. 8진수 체계의 숫자는 마지막 나눗셈 결과의 일련의 숫자와 나눗셈의 나머지 부분을 역순으로 표시합니다.

    실시예 5

    숫자 $571_(10)$를 8진수 체계로 변환합니다.

    해결책:

    그림 5.

    $571_{10} = 1073_8$

    • 10진수 체계에서 16진수 체계로 숫자를 변환하려면 나머지가 $15$보다 작거나 같을 때까지 $16$로 연속적으로 나누어야 합니다. 16진수 체계의 숫자는 마지막 나눗셈 결과와 나눗셈의 나머지 부분을 역순으로 나타낸 일련의 숫자로 표시됩니다.

    실시예 6

    숫자 $7467_(10)$을 16진수 체계로 변환합니다.

    해결책:

    그림 6.

    $7467_(10) = 1D2B_(16)$

      진분수를 십진수 체계에서 비소수 체계로 변환하려면, 변환되는 숫자의 분수 부분에 변환이 필요한 체계의 밑수를 순차적으로 곱해야 합니다. 새로운 시스템의 분수는 첫 번째부터 시작하여 제품의 전체 부분으로 표시됩니다.

      예를 들어, 8진수 체계에서 $0.3125_((10))$는 $0.24_((8))$처럼 보입니다.

      이 경우 소수가 아닌 숫자 시스템에서 유한 소수 분수가 무한(주기) 분수에 해당할 수 있는 경우 문제가 발생할 수 있습니다. 이 경우 새 시스템에 표시되는 분수의 자릿수는 필요한 정확도에 따라 달라집니다. 또한 정수는 정수로 유지되고 고유 분수는 모든 수 체계에서 분수로 유지된다는 점에 유의해야 합니다.

    이진수 체계에서 다른 숫자 체계로 숫자를 변환하는 규칙

    • 숫자를 2진수 시스템에서 8진수로 변환하려면 최소 유효 숫자부터 시작하여 필요한 경우 선행 3화음에 0을 추가한 다음 각 3화음을 해당 8진수로 바꿔야 합니다. 표 4에 따르면.

    그림 7. 표 4

    실시예 7

    숫자 $1001011_2$를 8진수 체계로 변환합니다.

    해결책. 표 4를 사용하여 숫자를 2진수 시스템에서 8진수로 변환합니다.

    $001 001 011_2 = 113_8$

    • 숫자를 2진수 시스템에서 16진수로 변환하려면 숫자를 4개(4자리)로 나누어야 하며, 필요한 경우 최하위 숫자부터 시작하고 가장 중요한 4개 숫자에 0을 추가한 다음 각 4개 숫자를 해당 8진수로 바꿔야 합니다. 표 4에 따르면.

    우리 자료 중 하나에서 정의를 살펴보았습니다. 가장 짧은 알파벳을 가지고 있습니다. 두 자리 숫자: 0과 1. 위치 번호 체계의 알파벳 예가 표에 나와 있습니다.

    위치 번호 체계

    시스템 이름

    베이스

    알파벳

    바이너리

    삼위 일체

    네개 한 조인 것

    다섯배

    8진수

    소수

    0,1,2,3,4,5,6,7,8,9

    십이 진법

    0,1,2,3,4,5,6,7,8,9,A,B

    16진수

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

    서른 여섯

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O, P,R,S,T,U,V,X,Y,Z


    작은 숫자를 10진수에서 2진수로 또는 그 반대로 변환하려면 다음 표를 사용하는 것이 좋습니다.

    0부터 20까지의 10진수를 2진수 체계로 변환하는 표입니다.

    소수

    숫자

    이진수

    소수

    숫자

    이진수


    그러나 거기에 모든 숫자를 쓰면 테이블이 엄청날 것입니다. 그 중에서 올바른 숫자를 찾는 것이 더 어려울 것입니다. 한 위치 번호 시스템에서 다른 위치 번호 시스템으로 숫자를 변환하는 여러 알고리즘을 기억하는 것이 훨씬 쉽습니다.


    한 숫자 체계에서 다른 숫자 체계로 변환하는 방법은 무엇입니까? 컴퓨터 과학에는 십진수를 이진수로 변환하는 몇 가지 간단한 방법이 있습니다. 그 중 두 가지를 살펴보겠습니다.

    방법 1번.

    숫자를 변환해야 한다고 가정해 보겠습니다. 637 10진 시스템에서 2진 시스템으로.


    이는 다음과 같이 수행됩니다. 이 거듭제곱의 2가 원래 숫자보다 작거나 같도록 2의 최대 거듭제곱을 찾습니다.


    우리의 경우에는 9입니다. 왜냐하면 2 9 =512 , ㅏ 2 10 =1024 , 이는 시작 번호보다 큽니다. 따라서 우리는 결과의 자릿수를 받았습니다. 9+1=10과 같습니다. 즉, 결과는 1ххххххххх처럼 표시되며, 여기서 x는 1 또는 0으로 대체될 수 있습니다.


    결과의 두 번째 숫자를 찾아봅시다. 2를 9제곱하고 원래 숫자에서 빼자: 637-2 9 =125. 그럼 숫자로 비교해보세요 2 8 =256 . 125는 256보다 작으므로 9번째 숫자는 0이 됩니다. 결과는 이미 10хххххххх처럼 보일 것입니다.


    2 7 =128 > 125 , 이는 8번째 숫자도 0이 됨을 의미합니다.


    2 6 =64 , 일곱 번째 숫자는 1과 같습니다. 125-64=61 따라서 우리는 상위 숫자 4개를 받았으며 숫자는 10011ххххх 형식을 취합니다.


    2 5 =32 그리고 우리는 32를 본다< 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.


    2 4 =16 < 29 - 다섯 번째 자리 1 => 1001111xxx. 나머지 29-16=13.


    2 3 =8 < 13 => 10011111хх. 13-8=5


    2 2 =4 < 5 => 10011111хх, 나머지 5-4=1.


    2 1 =2 > 1 => 100111110x, 나머지 2-1=1.


    2 0 =1 => 1001111101.


    이것이 최종 결과가 될 것입니다.

    방법 2번.

    정수 십진수를 이진수 시스템으로 변환하는 규칙은 다음과 같습니다.

    1. 나누어보자 a n−1 a n−2 ...a 1 a 0 =a n−1⋅2 n−1 +a n−2⋅2n−2 +...+a 0⋅2 0 x 2.
    2. 몫은 다음과 같습니다 an−1⋅2n−2+...+a1이고 나머지는 동일합니다.
    3. 결과 몫을 다시 2로 나누면 나머지는 a1과 같습니다.
    4. 이 나눗셈 과정을 계속하면 n번째 단계에서 일련의 숫자를 얻게 됩니다. a 0 ,a 1 ,a 2 ,...,a n−1, 이는 원래 숫자의 이진수 표현에 포함되며 순차적으로 2로 나눌 때 나머지와 일치합니다.
    5. 따라서 정수 십진수를 이진수 체계로 변환하려면 0과 같은 몫을 얻을 때까지 주어진 숫자와 결과 정수 몫을 2로 순차적으로 나누어야 합니다.

    이진수 시스템의 원래 숫자는 결과 나머지를 순차적으로 기록하여 컴파일됩니다. 마지막으로 찾은 것부터 녹음을 시작합니다.


    십진수를 변환해보자 11 이진수 시스템으로. 위에서 논의한 일련의 작업(변환 알고리즘)은 다음과 같이 설명할 수 있습니다.


    갖다 11 10 =1011 2 .

    예:

    십진수가 충분히 크면 위에서 설명한 알고리즘을 작성하는 다음 방법이 더 편리합니다.



    363 10 =101101011 2



    한 숫자 체계에서 다른 숫자 체계로 숫자를 변환하는 것은 기계 연산의 중요한 부분입니다. 번역의 기본 규칙을 고려해 봅시다.

    1. 이진수를 십진수 1로 변환하려면 숫자의 자릿수와 해당 2의 거듭제곱의 곱으로 구성된 다항식 형식으로 작성하고 다음 규칙에 따라 계산해야 합니다. 십진수 산술:

    번역할 때 2의 거듭제곱표를 사용하는 것이 편리합니다.

    표 4. 숫자 2의 거듭제곱

    n(정도)

    예.

    2. 8진수를 10진수로 변환하려면 숫자의 자릿수와 숫자 8의 해당 거듭제곱의 곱으로 구성된 다항식으로 작성하고 소수의 규칙에 따라 계산해야 합니다. 산수:

    번역할 때 8의 거듭제곱표를 사용하는 것이 편리합니다.

    표 5. 숫자 8의 거듭제곱

    n(정도)

    예.숫자를 10진수 시스템으로 변환합니다.

    3. 16진수를 10진수 1로 변환하려면 숫자의 자릿수와 숫자 16의 해당 거듭제곱의 곱으로 구성된 다항식의 형태로 이를 작성하고 다음 식에 따라 계산해야 합니다. 십진수 산술 규칙:

    번역할 때 이용하면 편리해요 16번 세력의 공습:

    표 6. 숫자 16의 거듭제곱

    n(정도)

    예.숫자를 10진수 시스템으로 변환합니다.

    4. 10진수를 2진법으로 변환하려면 1 이하의 나머지가 남을 때까지 순차적으로 2로 나누어야 하며, 2진법의 숫자는 마지막 나눗셈 결과와 그 나머지의 순서로 쓰여집니다. 나누기를 역순으로 합니다.

    예.숫자를 이진수 시스템으로 변환합니다.

    5. 10진수를 8진수로 변환하려면 7 이하의 나머지가 남을 때까지 순차적으로 8로 나누어야 하며, 8진수 체계의 숫자는 마지막 나눗셈 결과의 숫자 순서로 쓰여집니다. 나머지 부분은 역순으로 나눕니다.

    예.숫자를 8진수 체계로 변환합니다.

    6. 10진수를 16진수 체계로 변환하려면 나머지가 15 이하가 될 때까지 16으로 순차적으로 나누어야 합니다. 16진수 체계의 숫자는 마지막 나눗셈 결과의 일련의 숫자로 쓰여지며, 나눗셈의 나머지 부분을 역순으로 표시합니다.

    예.숫자를 16진수 체계로 변환합니다.



    질문이 있으신가요?

    오타 신고

    편집자에게 전송될 텍스트: