숫자 체계의 기초. 숫자 체계 - 컴퓨터 과학 수업을 들어보세요. 컴퓨터 과학에서 숫자의 밑수를 결정하는 방법

숫자 체계(eng. 숫자 체계 또는 계산 체계) - 숫자를 기록하는 상징적인 방법으로, 문자를 사용하여 숫자를 나타냅니다.

수 체계의 기수와 밑수는 무엇입니까?

정의: 수체계 기반 는 다양한 기호나 기호의 수입니다.
이 시스템에서 숫자를 나타내는 데 사용됩니다.
밑은 2, 3, 4, 16 등의 자연수입니다. 즉, 무한정 존재한다
많은 위치 시스템. 예를 들어, 10진법의 경우 밑수는 10입니다.

밑수를 결정하는 것은 매우 쉽습니다. 시스템의 유효 자릿수를 다시 계산하기만 하면 됩니다. 간단히 말하면 숫자의 두 번째 자리가 시작되는 숫자입니다. 예를 들어, 우리는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9라는 숫자를 사용합니다. 정확히 10개가 있으므로 우리 숫자 체계의 밑수 역시 10이고 숫자 체계는 다음과 같습니다. 십진수'라고 부른다. 위의 예에서는 숫자 0, 1, 2, 3, 4, 5, 6, 7, 8, 9를 사용합니다(보조 10, 100, 1000, 10000 등은 포함되지 않음). 여기에도 10개의 주요 숫자가 있으며 숫자 체계는 십진수입니다.

시스템 기반 는 쓰는 데 사용되는 일련의 숫자입니다. 어떤 시스템에도 시스템의 기본과 동일한 숫자는 없습니다.

짐작할 수 있듯이, 숫자의 수만큼 수 체계의 기반도 많을 수 있습니다. 그러나 가장 편리한 숫자 체계만 사용됩니다. 가장 일반적으로 사용되는 인간수 체계의 밑수는 왜 10이라고 생각하시나요? 네, 바로 우리 손에 손가락이 10개 있기 때문입니다. “하지만 한 손에는 손가락이 다섯 개밖에 없어요.”라고 말하는 사람도 있을 것이고 그들의 말이 옳을 것입니다. 인류의 역사는 5중 숫자 체계의 예를 알고 있습니다. “그리고 다리에는 발가락이 20개 있습니다.”라고 다른 사람들은 말할 것이고, 또한 그들의 말은 절대적으로 옳을 것입니다. 이것이 바로 마야인들이 믿었던 것입니다. 이것은 숫자에서도 볼 수 있습니다.

십진수 체계

계산할 때 우리 모두는 어린 시절부터 친숙한 숫자와 숫자를 사용하는 데 익숙합니다. 하나, 둘, 셋, 넷 등등. 일상적인 숫자 체계에는 숫자를 만드는 데 사용되는 10자리 숫자(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)만 있습니다. 10에 도달하면 왼쪽 숫자에 1을 더하고 가장 오른쪽 숫자의 0부터 다시 세기 시작합니다. 이 숫자 체계를 십진수라고 합니다.

양손의 손가락 개수가 10개라는 점에서 우리 조상들이 선택했음을 짐작하기 어렵지 않다. 하지만 다른 숫자 체계에는 어떤 것이 있나요? 항상 십진수 체계를 사용해 보셨나요, 아니면 다른 숫자 체계가 있었나요?

숫자 체계의 역사

0이 발명되기 전에는 숫자를 쓰는 데 특수 기호를 사용했습니다. 각 국가마다 고유 한 것이 있습니다. 예를 들어, 고대 로마에서는 비위치 숫자 체계가 널리 사용되었습니다.

숫자의 값이 그것이 차지하는 위치에 의존하지 않는 경우 숫자 체계를 비위치 체계라고 합니다. 가장 발전된 숫자 체계는 러시아와 고대 그리스에서 사용된 체계로 간주되었습니다.

그 안에는 큰 숫자가 문자로 표시되었지만 추가 기호(1 – a, 100 –i 등)가 추가되었습니다. 또 다른 비위치 숫자 체계는 고대 바빌론에서 사용된 체계입니다. 그들의 시스템에서 바빌론 주민들은 "2층" 표기법과 단 세 개의 기호만 사용했습니다. 1은 바빌로니아 수 체계의 단위, 10은 바빌로니아 수 체계의 10, 0은 바빌로니아 수 체계의 0입니다.

위치 번호 체계

위치 시스템은 한 단계 더 발전했습니다. 이제 십진법은 모든 곳에서 승리했지만 응용 과학에서 자주 사용되는 다른 시스템도 있습니다. 이러한 숫자 체계의 예로는 이진수 체계가 있습니다.
이진수 시스템

집에 있는 컴퓨터와 모든 전자제품이 통신하는 곳입니다. 이 숫자 체계는 0과 1이라는 두 자리 숫자만 사용합니다. 컴퓨터에게 인간처럼 10까지 세는 방법을 가르치는 것이 왜 가능하지 않았는지 궁금해하실 수도 있습니다. 답은 표면에 있습니다.

두 기호를 구별하도록 기계를 가르치는 것은 쉽습니다. 켜짐은 1을 의미하고 꺼짐은 0을 의미합니다. 전류는 1이고 전류는 없습니다. 0입니다. 더 많은 수의 숫자를 구별할 수 있는 기계를 만들려는 시도가 있었습니다. 그러나 그들은 모두 신뢰할 수 없는 것으로 판명되었고 컴퓨터는 계속 혼란스러워졌습니다. 1이 그들에게 왔거나 2가 왔습니다.

우리는 다양한 숫자 체계로 둘러싸여 있습니다. 그들 각각은 해당 영역에서 유용합니다. 그리고 어떤 것을 언제 사용할 것인지에 대한 답은 우리에게 달려 있습니다.

서비스의 목적. 이 서비스는 온라인에서 한 숫자 체계의 숫자를 다른 숫자 체계로 변환하도록 설계되었습니다. 이렇게 하려면 숫자를 변환하려는 시스템의 베이스를 선택하십시오. 쉼표를 사용하여 정수와 숫자를 모두 입력할 수 있습니다.

34와 같은 정수와 637.333과 같은 분수를 모두 입력할 수 있습니다. 분수의 경우 소수점 이하의 번역 정확도가 표시됩니다.

이 계산기에는 다음 사항도 사용됩니다.

숫자를 표현하는 방법

바이너리 (이진) 숫자 - 각 숫자는 1비트(0 또는 1)의 값을 의미하며, 가장 중요한 비트는 항상 왼쪽에 기록되고 숫자 뒤에 문자 "b"가 배치됩니다. 인식하기 쉽도록 노트북을 공백으로 구분할 수 있습니다. 예를 들어 1010 0101b입니다.
16진수 (16진수) 숫자 - 각 4진수는 하나의 기호 0...9, A, B, ..., F로 표시됩니다. 이 표현은 다른 방식으로 지정될 수 있습니다. 여기서는 마지막 16진수 뒤에 기호 "h"만 사용됩니다. 숫자. 예를 들어 A5h입니다. 프로그램 텍스트에서는 프로그래밍 언어의 구문에 따라 동일한 번호를 0xA5 또는 0A5h로 지정할 수 있습니다. 숫자와 기호 이름을 구별하기 위해 문자로 표시되는 가장 중요한 16진수 왼쪽에 앞에 0이 추가됩니다.
소수 (십진수) 숫자 - 각 바이트(워드, 더블 워드)는 일반 숫자로 표시되며, 십진수 표시 기호(문자 "d")는 일반적으로 생략됩니다. 이전 예제의 바이트에는 165의 10진수 값이 있습니다. 2진수 및 16진수 표기법과 달리 10진수는 때때로 필요한 각 비트의 값을 정신적으로 결정하기 어렵습니다.
8진수 (8진수) 숫자 - 비트의 각 3배(나누기는 최하위부터 시작)는 끝에 "o"가 있는 숫자 0-7로 기록됩니다. 같은 숫자는 245o로 표기됩니다. 8진법은 바이트를 균등하게 나눌 수 없기 때문에 불편합니다.

한 숫자 체계에서 다른 숫자 체계로 숫자를 변환하는 알고리즘

전체 십진수를 다른 숫자 체계로 변환하는 작업은 나머지가 새 숫자 체계의 밑수보다 작은 숫자로 남을 때까지 숫자를 새 숫자 체계의 밑수로 나누어 수행됩니다. 새 숫자는 마지막 숫자부터 시작하여 나눗셈 나머지로 기록됩니다.
일반 소수 부분을 다른 PSS로 변환하는 작업은 분수 부분에 모든 0이 남을 때까지 또는 지정된 변환 정확도가 달성될 때까지 숫자의 분수 부분에만 새 숫자 시스템의 밑수를 곱하여 수행됩니다. 각 곱셈 연산의 결과로 가장 높은 숫자부터 시작하여 새로운 숫자의 한 자리가 형성됩니다.
가분수 번역은 규칙 1과 2에 따라 수행됩니다. 정수 부분과 분수 부분은 쉼표로 구분하여 함께 작성됩니다.

예 1.



2에서 8, 16 숫자 체계로 변환됩니다.
이러한 시스템은 2의 배수이므로 대응표(아래 참조)를 사용하여 번역이 수행됩니다.

숫자를 2진수 체계에서 8진수(16진수) 숫자 체계로 변환하려면 2진수를 소수점부터 오른쪽과 왼쪽으로 3자리(16진수는 4자리) 그룹으로 나누고 외부 그룹을 보완해야 합니다. 필요한 경우 0을 사용합니다. 각 그룹은 해당하는 8진수 또는 16진수로 대체됩니다.

예 2. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
여기서는 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

16진법으로 변환할 때에도 동일한 규칙에 따라 숫자를 4자리로 나누어야 합니다.
예 번호 3. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 16진수
여기에서는 0010=2; 1011=B; 1010=12; 1011=13

2, 8, 16의 숫자를 10진수 체계로 변환하는 작업은 숫자를 개별 숫자로 나누고 일련 번호에 해당하는 거듭제곱으로 승격된 시스템 베이스(숫자가 변환됨)를 곱하여 수행됩니다. 변환되는 숫자입니다. 이 경우 숫자는 증가할수록 소수점 왼쪽(첫 번째 숫자는 0으로 표시됨)으로, 감소하면 오른쪽으로(즉, 음수 부호로) 번호가 매겨집니다. 얻은 결과가 합산됩니다.

예 번호 4.
이진수 시스템을 십진수 시스템으로 변환하는 예입니다.

1010010.101 2 = 1·2 6 +0·2 5 +1·2 4 +0·2 3 +0·2 2 +1·2 1 +0·2 0 + 1·2 -1 +0·2 - 2 + 1 2 -3 =
= 64+0+16+0+0+2+0+0.5+0+0.125 = 82.625 10 8진수에서 10진수 체계로 변환하는 예입니다. 108.5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0.625 = 72.625 10 16진수를 10진수로 변환하는 예. 108.5 16 = 1·16 2 +0·16 1 +8·16 0 + 5·16 -1 = 256+0+8+0.3125 = 264.3125 10

다시 한 번 한 숫자 체계에서 다른 PSS로 숫자를 변환하는 알고리즘을 반복합니다.

  1. 십진수 체계에서:
    • 번역되는 숫자 체계의 기준으로 숫자를 나눕니다.
    • 숫자의 정수 부분을 나눌 때 나머지를 구합니다.
    • 나눗셈의 모든 나머지를 역순으로 적습니다.
  2. 이진수 체계에서
    • 십진법으로 변환하려면 해당 자릿수에 따라 밑수 2의 곱의 합을 구해야 합니다.
    • 숫자를 8진수로 변환하려면 숫자를 3화음으로 나누어야 합니다.
      예를 들어 1000110 = 1,000 110 = 106 8
    • 숫자를 2진수에서 16진수로 변환하려면 숫자를 4자리 그룹으로 나누어야 합니다.
      예를 들어 1000110 = 100 0110 = 46 16
시스템을 위치지정이라고 합니다., 숫자의 중요성이나 가중치는 숫자에서의 위치에 따라 달라집니다. 시스템 간의 관계는 표로 표현됩니다.
번호 체계 대응표:
바이너리 SS16진수 SS
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010
1011
1100
1101
1110 이자형
1111 에프

8진수 체계로의 변환 표

예 2. 숫자 100.12를 10진수 체계에서 8진수 체계로 또는 그 반대로 변환합니다. 불일치의 이유를 설명하십시오.
해결책.
스테이지 1. .

나눗셈의 나머지 부분을 역순으로 씁니다. 우리는 8번째 숫자 시스템으로 숫자를 얻습니다: 144
100 = 144 8

숫자의 분수 부분을 변환하려면 분수 부분에 밑수 8을 순차적으로 곱합니다. 결과적으로 매번 곱의 전체 부분을 적습니다.
0.12*8 = 0.96(정수 부분 0 )
0.96*8 = 7.68(정수 부분 7 )
0.68*8 = 5.44(정수 부분 5 )
0.44*8 = 3.52(정수 부분 3 )
우리는 8번째 숫자 시스템인 0753으로 숫자를 얻습니다.
0.12 = 0.753 8

100,12 10 = 144,0753 8

2단계. 10진수 체계에서 8진수 체계로 숫자 변환.
8진수 체계에서 10진수 체계로의 역변환.

정수 부분을 변환하려면 숫자의 자릿수에 해당 자릿수를 곱해야 합니다.
144 = 8 2 *1 + 8 1 *4 + 8 0 *4 = 64 + 32 + 4 = 100

분수 부분을 변환하려면 숫자의 자릿수를 해당 자릿수로 나누어야 합니다.
0753 = 8 -1 *0 + 8 -2 *7 + 8 -3 *5 + 8 -4 *3 = 0.119873046875 = 0.1199

144,0753 8 = 100,96 10
0.0001(100.12 - 100.1199)의 차이는 8진수 체계로 변환할 때 반올림 오류로 설명됩니다. 더 많은 자릿수(예: 4가 아닌 8)를 사용하면 이 오류를 줄일 수 있습니다.

문제 해결을 시작하기 전에 몇 가지 간단한 사항을 이해해야 합니다.

십진수 875를 생각해 보세요. 숫자(5)의 마지막 숫자는 숫자 875를 10으로 나눈 나머지입니다. 마지막 두 숫자는 숫자 75를 구성합니다. 이는 숫자 875를 100으로 나눈 나머지입니다. 비슷한 설명은 다음과 같습니다. 모든 숫자 시스템에 대해 true:

숫자의 마지막 숫자는 이 숫자를 숫자 체계의 밑수로 나눈 나머지입니다.

숫자의 마지막 두 자리는 숫자를 밑수 제곱으로 나눈 나머지입니다.

예를 들어, . 23을 시스템 진수 3으로 나누면 나머지는 7과 2입니다(2는 삼항 시스템에서 숫자의 마지막 숫자입니다). 23을 9(밑 제곱)로 나누면 18과 5가 나머지(5 = )가 됩니다.

다시 일반적인 십진법으로 돌아가 보겠습니다. 숫자 = 100000. 즉 10의 k승은 1이고 k는 0입니다.

모든 숫자 시스템에도 비슷한 설명이 적용됩니다.

이 숫자 체계에서 k의 거듭제곱에 대한 숫자 체계의 밑은 1과 k개의 0으로 기록됩니다.

예를 들어, .

1. 수 체계의 기초 찾기

예시 1.

어떤 진수가 있는 숫자 체계에서 십진수 27은 30으로 기록됩니다. 이 진수를 지정하십시오.

해결책:

원하는 밑수 x를 표시해 보겠습니다. 그럼 .즉. x = 9.

예시 2.

어떤 진수가 있는 숫자 체계에서 십진수 13은 111로 기록됩니다. 이 진수를 지정하십시오.

해결책:

원하는 밑수 x를 표시해 보겠습니다. 그 다음에

우리는 이차 방정식을 풀고 근 3과 -4를 얻습니다. 수 체계의 밑은 음수가 될 수 없으므로 답은 3입니다.

답: 3

실시예 3

쉼표로 구분하여 오름차순으로 숫자 29가 5로 끝나는 수 체계의 모든 진수를 나타냅니다.

해결책:

어떤 시스템에서 숫자 29가 5로 끝나면 5만큼 줄어든 숫자(29-5 = 24)는 0으로 끝납니다. 앞서 시스템의 밑으로 나누어지는 숫자는 0으로 끝난다고 말했습니다. 남김없이. 저것들. 우리는 숫자 24의 약수인 숫자를 모두 찾아야 합니다. 이 숫자는 2, 3, 4, 6, 8, 12, 24입니다. 밑이 2, 3, 4인 숫자 체계에는 숫자가 없다는 점에 유의하세요. 5(그리고 공식화 문제에서 숫자 29는 5로 끝남), 이는 염기가 있는 시스템이 6, 8, 12로 남아 있음을 의미합니다.

답: 6, 8, 12, 24

실시예 4

쉼표로 구분하여 오름차순으로 숫자 71이 13으로 끝나는 수 체계의 모든 진수를 나타냅니다.

해결책:

어떤 체계에서 숫자가 13으로 끝나는 경우 이 체계의 밑수는 4 이상입니다(그렇지 않으면 숫자 3이 없습니다).

3을 빼면(71-3=68) 10으로 끝난다. 68은 원하는 계의 밑수로 완전히 나누어지고, 이것을 계의 밑수로 나눈 몫은 나머지가 0이 됩니다.

숫자 68의 모든 정수 약수인 2, 4, 17, 34, 68을 적어 봅시다.

2는 적합하지 않습니다. 왜냐하면 밑은 4보다 작지 않습니다. 나머지 약수를 확인해 보겠습니다.

68:4 = 17; 17:4 = 4(나머지 1) – 적합

68:17 = 4; 4:17 = 0(나머지 4) – 적합하지 않음

68:34 = 2; 2:17 = 0 (ost 2) – 적합하지 않음

68:68 = 1; 1:68 = 0 (나머지 1) – 적합

답: 4.68

2. 조건에 따른 숫자 검색

실시예 5

25를 초과하지 않는 모든 십진수를 쉼표로 구분하여 오름차순으로 지정하십시오. 기본 4진법 체계에서 11로 끝나는 표기법은 무엇입니까?

해결책:

먼저, 4진수 체계에서 숫자 25가 어떻게 보이는지 알아봅시다.

저것들. 우리는 11로 끝나는 것보다 크지 않은 모든 숫자를 찾아야 합니다. 4진수 시스템의 순차 계산 규칙에 따르면,
우리는 숫자와 . 이를 십진수 체계로 변환합니다.

답: 5, 21

3. 방정식 풀기

실시예 6

방정식을 푼다:

답을 삼항 체계로 작성하세요(답에 숫자 체계의 밑수를 쓸 필요는 없습니다).

해결책:

모든 숫자를 10진수 체계로 변환해 보겠습니다.

이차 방정식의 근은 -8과 6입니다(시스템의 밑수는 음수가 될 수 없으므로). .

답: 20

4. 표현식 값의 이진 표기법에서 1(0)의 개수 계산

이러한 유형의 문제를 해결하려면 열형 덧셈과 뺄셈이 어떻게 작동하는지 기억해야 합니다.

더할 때 최하위 숫자부터 시작하여 서로 아래에 쓰여진 숫자의 비트 단위 합산이 발생합니다. 두 자리 숫자의 합이 수체계의 밑수보다 크거나 같은 경우, 이 합을 수체계의 밑수로 나눈 나머지가 합산된 숫자 아래에 기록되고, 이 합을 수체계의 밑수로 나눈 정수 부분이 시스템의 기본은 다음 숫자의 합에 추가됩니다.

뺄셈을 할 때는 최하위 숫자부터 시작하여 서로 아래에 쓰여진 숫자를 비트 단위로 뺍니다. 첫 번째 숫자가 두 번째 숫자보다 작으면 인접한(더 큰) 숫자에서 하나를 "빌립니다". 현재 숫자에서 차지하는 단위는 숫자 체계의 기본과 같습니다. 10진수에서는 10, 2진수에서는 2, 3진수에서는 3 등입니다.

실시예 7

표현식 값의 이진 표기법에는 몇 단위가 포함되어 있습니까?

해결책:

표현식의 모든 숫자를 2의 거듭제곱으로 상상해 봅시다.

이진 표기법에서 2의 n제곱은 1 뒤에 n개의 0이 오는 것처럼 보입니다. 그런 다음 과 를 합산하면 2개의 단위를 포함하는 숫자를 얻습니다.

이제 결과 숫자에서 10,000을 빼자 빼기 규칙에 따라 다음 숫자에서 빌립니다.

이제 결과 숫자에 1을 더합니다.

결과에는 2013+1+1=2015 단위가 있음을 알 수 있습니다.

십진수 체계로의 전환

연습 1. 24 16은 십진법으로 어떤 숫자에 해당합니까?

해결책.

24 16 = 2 * 16 1 + 4 * 16 0 = 32 + 4 = 36

답변. 24 16 = 36 10

작업 2. X = 12 4 + 4 5 + 101 2인 것으로 알려져 있습니다. 십진법에서 X의 값은 무엇입니까?

해결책.


12 4 = 1 * 41 + 2 * 40 = 4 + 2 = 6
4 5 = 4 * 5 0 = 4
101 2 = 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 4 + 0 + 1 = 5
숫자 찾기: X = 6 + 4 + 5 = 15

답변.엑스 = 15 10

작업 3.합계 10 2 + 45 8 + 10 16 의 값을 십진법으로 계산하세요.

해결책.

각 용어를 10진수 체계로 변환해 보겠습니다.
10 2 = 1 * 2 1 + 0 * 2 0 = 2
45 8 = 4 * 8 1 + 5 * 8 0 = 37
10 16 = 1 * 16 1 + 0 * 16 0 = 16
합계는 다음과 같습니다. 2 + 37 + 16 = 55

이진수 체계로의 변환

연습 1.이진수로 숫자 37은 무엇입니까?

해결책.

2로 나누고 나머지를 역순으로 결합하여 변환할 수 있습니다.

또 다른 방법은 가장 높은 것부터 시작하여 숫자를 2의 거듭제곱의 합으로 분해하는 것입니다. 계산된 결과는 주어진 숫자보다 작습니다. 변환할 때 숫자의 누락된 거듭제곱은 0으로 대체되어야 합니다.

37 10 = 32 + 4 + 1 = 2 5 + 2 2 + 2 0 = 1 * 2 5 + 0 * 2 4 + 0 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 100101

답변. 37 10 = 100101 2 .

작업 2.십진수 73의 이진 표기법에는 유효 0이 몇 개 있습니까?

해결책.

숫자 73을 가장 높은 것부터 시작하여 누락된 거듭제곱에 0을 곱하고 기존 거듭제곱에 1을 곱하여 2의 거듭제곱의 합으로 분해해 보겠습니다.

73 10 = 64 + 8 + 1 = 2 6 + 2 3 + 2 0 = 1 * 2 6 + 0 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 1001001

답변.십진수 73의 이진수 표현에는 4개의 유효 0이 있습니다.

작업 3. x = D2 16, y = 37 8에 대해 숫자 x와 y의 합을 계산합니다. 결과를 이진수 시스템으로 표시합니다.

해결책.

16진수의 각 자릿수는 4개의 2진수로 구성되고, 8진수의 각 자릿수는 3으로 구성됩니다.

D2 16 = 1101 0010
37 8 = 011 111

결과 숫자를 더해 보겠습니다.

11010010 11111 -------- 11110001

답변.이진법으로 표현되는 숫자 D2 16과 y = 37 8의 합은 11110001입니다.

작업 4.주어진: = D7 16, = 331 8 . 어느 번호 , 이진수 시스템으로 작성되어 조건을 충족합니다. ㅏ< c < b ?

  1. 11011001
  2. 11011100
  3. 11010111
  4. 11011000

해결책.

숫자를 이진수 시스템으로 변환해 보겠습니다.

D7 16 = 11010111
331 8 = 11011001

모든 숫자의 처음 4자리는 동일합니다(1101). 따라서 비교는 하위 4자리를 비교하는 것으로 단순화됩니다.

목록의 첫 번째 숫자는 숫자와 같습니다. 이므로 적합하지 않습니다.

두 번째 숫자가 다음보다 큽니다. . 세 번째 숫자는 .

네 번째 숫자만 적합합니다: 0111< 1000 < 1001.

답변.네 번째 옵션(11011000)이 조건을 충족합니다. ㅏ< c < b .

다양한 숫자 체계와 그 기반의 값을 결정하는 작업

연습 1.@, $, &, % 문자를 인코딩하려면 두 자리 연속 이진수를 사용합니다. 첫 번째 문자는 숫자 00에 해당합니다. 이 문자를 사용하여 $%&&@$ 시퀀스가 ​​인코딩되었습니다. 이 시퀀스를 디코딩하고 결과를 16진수 시스템으로 변환합니다.

해결책.

1. 이진수를 인코딩된 문자와 비교해 보겠습니다.
00 - @, 01 - $, 10 - &, 11 - %

3. 이진수를 16진수 시스템으로 변환합니다.
0111 1010 0001 = 7A1

답변. 7A1 16.

작업 2.정원에는 100그루의 과일나무가 있는데 그 중 33그루는 사과나무, 22그루는 배, 16그루는 자두, 17그루는 체리입니다. 수체계(x)의 밑수는 무엇입니까?

해결책.

1. 모든 용어는 두자리 숫자임을 참고하세요. 모든 숫자 체계에서는 다음과 같이 나타낼 수 있습니다.
a * x 1 + b * x 0 = ax + b, 여기서 a와 b는 해당 숫자의 숫자입니다.
세 자리 숫자의 경우 다음과 같습니다.
a * x 2 + b * x 1 + c * x 0 = 도끼 2 + bx + c

2. 문제의 상태는 다음과 같습니다.
33 x + 22 x + 16 x + 17 x = 100 x
숫자를 공식으로 대체해 보겠습니다.
3x + 3 + 2x +2 + 1x + 6 + 1x + 7 = 1x 2 + 0x + 0
7x + 18 = x 2

3. 2차 방정식을 푼다:
-x2 + 7x + 18 = 0
D = 7 2 – 4 * (-1) * 18 = 49 + 72 = 121. D의 제곱근은 11입니다.
이차 방정식의 근:
x = (-7 + 11) / (2 * (-1)) = -2 또는 x = (-7 - 11) / (2 * (-1)) = 9

4. 음수는 숫자 체계의 기초가 될 수 없습니다. 따라서 x는 9와 같을 수 있습니다.

답변.숫자 체계의 필수 밑수는 9입니다.

작업 3.어떤 진수가 있는 수 체계에서 십진수 12는 110으로 쓰여집니다. 이 진수를 찾으세요.

해결책.

먼저 위치 수 체계의 숫자 쓰기 공식을 통해 숫자 110을 써서 십진수 체계의 값을 찾은 다음 무차별 대입으로 밑을 찾습니다.

110 = 1 * x 2 + 1 * x 1 + 0 * x 0 = x 2 + x

12를 구해야 합니다. 2:2 2 + 2 = 6을 시도해 보겠습니다. 3:3 2 + 3 = 12를 시도해 보겠습니다.

이는 수 체계의 밑이 3이라는 것을 의미합니다.

답변.숫자 체계의 필수 밑수는 3입니다.

작업 4.십진수 173은 어떤 숫자 체계에서 445로 표시됩니까?

해결책.
알려지지 않은 염기를 X로 표시하겠습니다. 다음 방정식을 작성합니다.
173 10 = 4*X 2 + 4*X 1 + 5*X 0
0의 거듭제곱에 대한 양수가 1이라는 사실을 고려하여 방정식을 다시 작성하겠습니다(기본 10은 표시하지 않음).
173 = 4*X 2 + 4*X + 5
물론, 이러한 이차 방정식은 판별식을 사용하여 풀 수 있지만 더 간단한 해결책이 있습니다. 오른쪽과 왼쪽에서 4를 뺍니다.
169 = 4*X 2 + 4*X + 1 또는 13 2 = (2*X+1) 2
여기에서 우리는 2*X +1 = 13을 얻습니다(음수 근을 버립니다). 또는 X = 6입니다.
답: 173 10 = 445 6

수 체계의 여러 기초를 찾는 문제

주어진 숫자의 표현이 주어진 숫자로 끝나는 숫자 체계의 모든 기반을 (오름차순 또는 내림차순으로) 나열해야 하는 문제 그룹이 있습니다. 이 문제는 아주 간단하게 해결됩니다. 먼저 원래 숫자에서 주어진 숫자를 빼야 합니다.결과 숫자는 숫자 시스템의 첫 번째 기본이 됩니다. 그리고 다른 모든 밑수는 이 숫자의 약수가 될 수 있습니다. (이 진술은 숫자를 한 숫자 체계에서 다른 숫자 체계로 변환하는 규칙을 기반으로 입증되었습니다. 단락 4 참조). 그것만 기억하세요 숫자 체계의 밑수는 주어진 숫자보다 작을 수 없습니다.!


쉼표로 구분하여 오름차순으로 숫자 24가 3으로 끝나는 수 체계의 모든 진수를 나타냅니다.

해결책
24 – 3 =21은 첫 번째 베이스입니다(13 21 = 13*21 1 +3*21 0 = 24).
21은 3과 7로 나누어집니다. 숫자 3은 적합하지 않습니다. 3진수 체계에는 숫자 3이 없습니다.
답: 7, 21

컴퓨터 과학 과정에서는 학교나 대학에 관계없이 숫자 체계와 같은 개념에 특별한 장소가 주어집니다. 일반적으로 여러 수업이나 실습이 할당됩니다. 주요 목표는 주제의 기본 개념을 숙지하고 숫자 체계의 유형을 연구하는 것뿐만 아니라 이진수, 8진수 및 16진수 산술에 익숙해지는 것입니다.

무슨 뜻이에요?

기본 개념을 정의하는 것부터 시작하겠습니다. 교과서 "정보학"에서 언급했듯이 숫자 체계는 특수 알파벳이나 특정 숫자 집합을 사용하는 숫자 기록입니다.

숫자의 위치에 따라 숫자 값이 변경되는지 여부에 따라 위치 수 시스템과 비 위치 수 시스템의 두 가지가 있습니다.

위치 시스템에서 숫자의 의미는 숫자의 위치에 따라 변경됩니다. 따라서 숫자 234를 취하면 숫자 4는 단위를 의미하지만 숫자 243을 고려하면 이미 단위가 아닌 10을 의미합니다.

비 위치 시스템에서 숫자의 의미는 숫자의 위치에 관계없이 정적입니다. 가장 눈에 띄는 예는 각 단위가 대시로 표시되는 스틱 시스템입니다. 막대기를 어디에 놓는지는 중요하지 않습니다. 숫자의 값은 1씩만 변경됩니다.

비 위치 시스템

비 위치 번호 시스템에는 다음이 포함됩니다.

  1. 최초의 것으로 간주되는 단위 시스템. 숫자 대신 막대기를 사용했습니다. 더 많이 있을수록 그 숫자의 가치는 더 커집니다. 바다에서 길을 잃은 사람들, 돌이나 나무의 노치로 매일을 표시하는 죄수들에 대해 이야기하는 영화에서 이런 식으로 쓰여진 숫자의 예를 찾을 수 있습니다.
  2. 숫자 대신 라틴 문자를 사용한 로마자. 이를 사용하면 어떤 숫자라도 쓸 수 있습니다. 또한 그 값은 숫자를 구성하는 숫자의 합과 차이를 사용하여 결정되었습니다. 숫자 왼쪽에 작은 숫자가 있으면 오른쪽 숫자에서 왼쪽 숫자를 빼고, 오른쪽 숫자가 왼쪽 숫자보다 작거나 같으면 그 값을 합산했습니다. 예를 들어 숫자 11은 XI, 9 - IX로 작성되었습니다.
  3. 알파벳순, 특정 언어의 알파벳을 사용하여 숫자를 지정한 것입니다. 그 중 하나는 슬라브 시스템으로 간주되며, 이 시스템에서는 여러 문자가 음성뿐만 아니라 숫자 의미도 가지고 있습니다.
  4. 글쓰기에는 쐐기와 화살표라는 두 가지 표기법 만 사용되었습니다.
  5. 이집트도 숫자를 나타내기 위해 특수 기호를 사용했습니다. 숫자를 쓸 때 각 기호는 9번 이상 사용할 수 없습니다.

위치 시스템

컴퓨터 과학에서는 위치 번호 시스템에 많은 관심을 기울이고 있습니다. 여기에는 다음이 포함됩니다.

  • 바이너리;
  • 8진수;
  • 소수;
  • 16진수;
  • 시간을 계산할 때 사용되는 60진법(예: 1분은 60초, 1시간은 60분).

그들 각각은 쓰기, 번역 규칙 및 산술 연산 수행을 위한 자체 알파벳을 가지고 있습니다.

십진법

이 시스템은 우리에게 가장 친숙합니다. 0부터 9까지의 숫자를 사용하여 숫자를 씁니다. 아랍어라고도합니다. 숫자에서 숫자의 위치에 따라 단위, 십, 백, 수천, 백만 등 다양한 숫자를 나타낼 수 있습니다. 우리는 그것을 어디에서나 사용하며 숫자에 대한 산술 연산이 수행되는 기본 규칙을 알고 있습니다.

바이너리 시스템

컴퓨터 과학의 주요 숫자 체계 중 하나는 이진법입니다. 그 단순성 덕분에 컴퓨터는 십진법보다 몇 배 더 빠르게 번거로운 계산을 수행할 수 있습니다.

숫자를 쓰려면 0과 1이라는 두 자리 숫자만 사용됩니다. 또한 숫자에서 0 또는 1의 위치에 따라 그 값이 변경됩니다.

처음에는 필요한 모든 정보를 컴퓨터의 도움으로 얻었습니다. 이 경우 1은 전압을 사용하여 전송되는 신호가 있음을 의미하고 0은 신호가 없음을 의미합니다.

옥탈 시스템

0에서 7까지의 숫자를 사용하는 또 다른 잘 알려진 컴퓨터 번호 시스템입니다. 이는 주로 디지털 장치와 관련된 지식 영역에서 사용되었습니다. 그러나 최근에는 16진수 체계로 대체되면서 사용 빈도가 훨씬 줄어들었습니다.

이진 십진법

큰 숫자를 이진수로 표현하는 것은 인간에게 다소 복잡한 과정입니다. 이를 단순화하기 위해 개발되었으며 주로 전자시계나 계산기에 사용됩니다. 이 시스템에서는 전체 숫자가 10진수 체계에서 2진수로 변환되지는 않지만 각 숫자는 2진수 체계에서 해당하는 0과 1의 집합으로 변환됩니다. 이진수에서 십진수로의 변환도 비슷한 방식으로 발생합니다. 0과 1의 4자리 집합으로 표시되는 각 숫자는 10진수 체계의 숫자로 변환됩니다. 원칙적으로 복잡한 것은 없습니다.

이 경우 숫자로 작업하려면 숫자와 이진 코드 간의 대응 관계를 나타내는 숫자 체계 표가 유용합니다.

16진수 시스템

최근 16진수 체계는 프로그래밍과 컴퓨터 과학 분야에서 점점 더 대중화되고 있습니다. 0에서 9까지의 숫자뿐만 아니라 A, B, C, D, E, F와 같은 여러 라틴 문자도 사용합니다.

동시에 각 문자에는 고유한 의미가 있으므로 A=10, B=11, C=12 등이 됩니다. 각 번호는 001F라는 4개의 문자 집합으로 표시됩니다.

숫자 변환: 10진수에서 2진수로

숫자 체계의 번역은 특정 규칙에 따라 발생합니다. 가장 일반적인 변환은 이진법에서 십진법으로 또는 그 반대로 변환하는 것입니다.

숫자를 10진법에서 2진법으로 변환하려면 숫자체계의 밑수, 즉 숫자 2로 순차적으로 나누어야 합니다. 이 경우 각 구분의 나머지 부분을 기록해야 합니다. 이는 나눗셈의 나머지 부분이 1보다 작거나 같을 때까지 발생합니다. 열에서 계산을 수행하는 것이 가장 좋습니다. 그런 다음 결과 나누기 나머지가 역순으로 줄에 기록됩니다.

예를 들어 숫자 9를 이진수로 변환해 보겠습니다.

숫자는 전체로 나눌 수 없으므로 9를 나눈 다음 숫자 8을 취하고 나머지는 9-1 = 1이됩니다.

8을 2로 나눈 후에는 4를 얻습니다. 숫자는 정수로 나눌 수 있으므로 다시 나눕니다. 나머지는 4 - 4 = 0입니다.

2에도 동일한 연산을 수행합니다. 나머지는 0입니다.

나눗셈의 결과로 우리는 1을 얻습니다.

최종 숫자 체계에 관계없이 숫자를 십진수에서 다른 숫자로 변환하는 것은 숫자를 위치 체계의 밑수로 나누는 원리에 따라 발생합니다.

숫자 변환: 이진수에서 십진수로

숫자를 2진수에서 10진수 체계로 변환하는 것은 매우 쉽습니다. 이를 위해서는 숫자를 거듭제곱하는 규칙을 아는 것으로 충분합니다. 이 경우에는 2의 거듭제곱입니다.

변환 알고리즘은 다음과 같습니다. 이진수 코드의 각 숫자는 2를 곱해야 하며 처음 두 개는 m-1의 거듭제곱이 되고 두 번째는 m-2 등이 됩니다. 여기서 m은 코드의 자릿수. 그런 다음 덧셈 결과를 더하여 정수를 얻습니다.

학생들의 경우 이 알고리즘을 더 간단하게 설명할 수 있습니다.

우선, 각 자릿수에 2를 곱한 값을 적고 0부터 시작하여 끝에 2의 거듭제곱을 넣습니다. 그런 다음 결과 숫자를 합산합니다.

예를 들어, 앞서 얻은 숫자 1001을 분석하여 이를 십진법으로 변환하는 동시에 계산의 정확성을 확인하겠습니다.

다음과 같이 보일 것입니다:

1*2 3 + 0*2 2 +0*2 1 +1*2 0 = 8+0+0+1 =9.

이 주제를 연구할 때 2의 거듭제곱을 갖는 표를 사용하는 것이 편리합니다. 이렇게 하면 계산을 수행하는 데 필요한 시간이 크게 줄어듭니다.

기타 번역 옵션

어떤 경우에는 2진수와 8진수 체계, 2진수와 16진수 사이에서 변환이 수행될 수 있습니다. 이 경우 보기 탭에서 "프로그래머" 옵션을 선택하여 특수 테이블을 사용하거나 컴퓨터에서 계산기 응용 프로그램을 시작할 수 있습니다.

산술 연산

숫자가 표시되는 형식에 관계없이 우리에게 친숙한 계산을 수행하는 데 사용할 수 있습니다. 선택한 숫자 체계에 따라 나누기, 곱하기, 빼기, 덧셈이 될 수 있습니다. 물론, 그들 각각은 자신의 규칙을 가지고 있습니다.

따라서 바이너리 시스템의 경우 각 작업에 대해 자체 테이블이 개발되었습니다. 다른 위치 시스템에서도 동일한 테이블이 사용됩니다.

그것들을 외울 필요는 없습니다. 그냥 인쇄해서 가지고 다니기만 하면 됩니다. PC에서 계산기를 사용할 수도 있습니다.

컴퓨터 과학에서 가장 중요한 주제 중 하나는 숫자 체계입니다. 이 주제에 대한 지식, 숫자를 한 시스템에서 다른 시스템으로 변환하는 알고리즘에 대한 이해는 알고리즘화 및 프로그래밍과 같은 더 복잡한 주제를 이해하고 첫 번째 프로그램을 직접 작성할 수 있다는 사실의 핵심입니다.



관련 출판물