다른 숫자 체계로 변환하는 방법. 한 숫자 체계에서 다른 숫자 체계로 숫자를 변환합니다. 이진수 시스템

한 숫자 체계에서 다른 숫자 체계로 숫자를 변환하는 방법.

한 위치 번호 체계에서 다른 위치 번호 체계로 숫자 변환: 정수 변환.

d1을 밑으로 하는 한 숫자 체계의 정수를 d2를 밑으로 하는 다른 숫자 체계로 변환하려면 이 숫자와 결과 몫을 d2 밑으로 순차적으로 나누어야 합니다. 새로운 시스템몫이 밑수 d2보다 작아질 때까지. 마지막 몫은 d2를 기본으로 하는 새로운 숫자 시스템에서 숫자의 가장 중요한 숫자이고, 그 뒤의 숫자는 나눗셈의 나머지로, 받은 순서의 역순으로 기록됩니다. 번역되는 숫자가 기록되는 숫자 체계에서 산술 연산을 수행합니다.

예 1. 숫자 11(10)을 이진수 체계로 변환합니다.

답: 11(10)=1011(2).

예제 2. 숫자 122(10)을 8진수 체계로 변환합니다.


답: 122(10)=172(8).

예제 3. 숫자 500(10)을 16진수 체계로 변환합니다.


답: 500(10)=1F4(16).

한 위치 숫자 체계에서 다른 위치 숫자 체계로 숫자 변환: 진분수 변환.

d1을 밑으로 하는 수 체계에서 d2를 밑으로 하는 체계로 진분수를 변환하려면, 원래 분수와 결과 곱의 분수 부분에 새로운 수 체계 d2의 밑을 순차적으로 곱해야 합니다. d2를 기본으로 하는 새로운 수 체계에서 숫자의 정확한 분수는 처음부터 시작하여 결과 곱의 정수 부분 형태로 형성됩니다.
변환으로 인해 무한 또는 발산 계열 형태의 분수가 생성되는 경우 필요한 정확도가 달성되면 프로세스가 완료될 수 있습니다.

대분수를 번역할 때에는 정수와 진분수를 번역하는 규칙에 따라 정수부와 분수부를 새로운 체계로 따로 번역한 후, 새로운 체계에서 두 결과를 하나의 대분수로 합치는 것이 필요하다.

예제 1. 숫자 0.625(10)을 이진수 체계로 변환합니다.


답: 0.625(10)=0.101(2).

예 2. 숫자 0.6(10)을 8진수 체계로 변환합니다.


답: 0.6(10)=0.463(8).

예제 2. 숫자 0.7(10)을 16진수 체계로 변환합니다.


답: 0.7(10)=0.B333(16).

2진수, 8진수, 16진수를 10진수 시스템으로 변환합니다.

P진 시스템의 숫자를 10진수 1로 변환하려면 다음 확장 공식을 사용해야 합니다.
аnan-1… а1а0=аnPn+ аn-1Pn-1+…+ а1P+a0 .

예 1. 숫자 101.11(2)을 10진수 체계로 변환합니다.

답: 101.11(2)= 5.75(10) .

예제 2. 숫자 57.24(8)을 10진수 체계로 변환합니다.

답: 57.24(8) = 47.3125(10) .

예 3. 숫자 7A,84(16)을 10진수 체계로 변환합니다.

답: 7A.84(16)= 122.515625(10) .


8진수와 16진수를 2진수 시스템으로 변환하거나 그 반대로 변환합니다.

8진수 체계의 숫자를 2진수로 변환하려면 이 숫자의 각 자릿수를 3자리 이진수(삼중수)로 작성해야 합니다.

예: 이진법으로 숫자 16.24(8)을 쓰세요.


답: 16.24(8)= 1110.0101(2) .

2진수를 다시 8진수 체계로 변환하려면 원래의 숫자를 소수점 왼쪽과 오른쪽의 3화음으로 나누고 각 그룹을 8진수 체계의 숫자로 나타내야 합니다. 극단적인 불완전 트라이어드는 0으로 보완됩니다.

예: 8진수 체계로 숫자 1110.0101(2)을 쓰십시오.


답: 1110.0101(2)= 16.24(8) .

숫자를 16진수 체계에서 이진수 체계로 변환하려면 이 숫자의 각 자릿수를 4자리 이진수(4차원)로 써야 합니다.

예: 이진법으로 숫자 7A,7E(16)을 쓰세요.


답: 7A,7E(16)= 1111010.0111111(2) .

참고: 정수의 경우 왼쪽에, 분수의 경우 오른쪽에 있는 선행 0은 기록되지 않습니다.

2진수를 다시 16진수 체계로 변환하려면 원래 숫자를 소수점 왼쪽과 오른쪽의 4개로 나누고 각 그룹을 16진수 체계의 숫자로 나타내야 합니다. 극단적인 불완전 트라이어드는 0으로 보완됩니다.

예: 16진수 체계로 숫자 1111010.0111111(2)을 씁니다.

16 또는 8에서 2로

번역 8진수그리고 16진수숫자 바이너리 시스템으로매우 간단합니다. 각 숫자를 해당하는 이진수로 바꾸면 됩니다. 삼인조(3자리) 또는 공책(4자리)(표 참조)
바이너리(Radise 2) 8진수(8진수) 10진수(기본 10) 16진수(기본 16)
트라이어드 테트라드
0 1 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

예를 들어:

a) 305.4 8 "2" s.s.를 번역합니다.

b) 7B2.E 16 "2" s.s.를 번역합니다.

16A 16 =1 0110 1010 2 345 8 =11 100 101 2

2에서 16 또는 8까지

예를 들어:

a) 1101111001.1101 2 "8" s.s.를 번역합니다.

b) 11111111011.100111 2 "16" s.s.를 번역합니다.

1000101010010101 2 =1000 1010 1001 0101=8A95 16 = 1 000 101 010 010 101=105225 8

16에서 8까지 그리고 그 뒤로

8진수에서 16진수로 또는 그 반대로의 변환은 3화음과 4음수를 사용하는 2진수 시스템을 통해 수행됩니다.

예를 들어:

175.24 8 "16" s.s.를 번역하세요.

결과: 175.24 8 = 7D.5 16.

10시부터 모든 s.s.

예를 들어:

a) 181 10 "8" s.s.를 번역합니다.

결과: 181 10 = 265 8

b) 622 10 "16" s.s.를 번역합니다.

결과: 622 10 = 26E 16

고유 분수의 번역
올바른 번역을 하려면 소수다른 시스템으로 이동하려면 이 분수에 전송되는 시스템의 베이스를 순차적으로 곱해야 합니다. 이 경우 소수 부분만 곱해집니다. 새로운 시스템의 분수는 처음부터 제품의 전체 부분 형태로 작성됩니다.

예를 들어:

0.3125 10 "8" s.s.를 변환합니다.

결과: 0.3125 10 = 0.24 8

논평.다른 숫자 체계의 마지막 소수 부분은 무한(때때로 주기적인) 분수에 해당할 수 있습니다. 이 경우 새 시스템에서 분수 표현의 문자 수는 필요한 정확도에 따라 사용됩니다.

예를 들어:

0.65 10 "2" s.s.를 변환합니다. 정확도 6자리.

결과: 0.65 10 0.10(1001) 2

부적절한 소수를 소수가 아닌 밑수를 사용하는 숫자 시스템으로 변환하려면전체 부분과 소수 부분을 별도로 번역해야 합니다.

예를 들어:

23.125 10 "2" s.s.를 번역하세요.

따라서: 23 10 = 10111 2 ; 0.125 10 = 0.001 2.
결과: 23.125 10 = 10111.001 2.

정수는 정수로 유지되고 고유 분수는 모든 숫자 시스템에서 분수로 유지된다는 점에 유의해야 합니다.

2, 8 또는 16에서 10까지

예를 들어:

a)10101101.101 2 = 1 2 7 + 0 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 1 2 -1 + 0 2 -2 + 1 2 - 3 = 173.625 10

b) 703.04 8 "10" s.s.를 번역합니다.

703.04 8 = 7 8 2 + 0 8 1 + 3 8 0 + 0 8 -1 + 4 8 -2 = 451.0625 10

c) B2E.4 16 "10" s.s.를 번역합니다.

B2E.4 16 = 11 16 2 + 2 16 1 + 14 16 0 + 4 16 -1 = 2862.25 10

한 숫자 체계에서 다른 숫자 체계로 숫자를 변환하는 방식


위치 번호 체계의 산술 연산

기본 산술 연산인 덧셈, 뺄셈, 곱셈, 나눗셈을 살펴보겠습니다. 십진법에서 이러한 연산을 수행하는 규칙은 잘 알려져 있습니다. 이는 덧셈, 뺄셈, 열 곱셈, 각도 나눗셈입니다. 이 규칙은 다른 모든 위치 번호 체계에 적용됩니다. 각 시스템마다 덧셈과 곱셈표만 사용해야 합니다.

덧셈

더할 때 숫자를 자릿수로 합산하고, 초과되는 경우 왼쪽으로 이동합니다.

각 숫자에 이진수를 더할 때, 용어의 숫자는 인접한 하위 숫자가 있는 경우 추가되고 전달됩니다. 1+1은 주어진 숫자에 0을 제공하고 다음 숫자에 캐리 단위를 제공한다는 점을 고려해야 합니다.

예를 들어:

이진수 추가를 수행합니다.
a) X=1101, Y=101;

결과 1101+101=10010.

b) X=1101, Y=101, Z=111;

결과 1101+101+111=11001.

8번째 숫자 체계의 덧셈표

2+2=4 3+2=5 4+2=6 5+2=7 6+2=10 7+2=11
2+3=5 3+3=6 4+3=7 5+3=10 6+3=11 7+3=12
2+4=6 3+4=7 4+4=10 5+4=11 6+4=12 7+4=13
2+5=7 3+5=10 4+5=11 5+5=12 6+5=13 7+5=14
2+6=10 3+6=11 4+6=12 5+6=13 6+6=14 7+6=15
2+7=11 3+7=12 4+7=13 5+7=14 6+7=15 7+7=16

16번째 숫자 체계의 덧셈표

+ 에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 기음 이자형 에프
에이 에이 기음 이자형 에프
기음 이자형 에프 1A
기음 기음 이자형 에프 1A 1B
이자형 에프 1A 1B 1C
이자형 이자형 에프 1A 1B 1C 1D
에프 에프 1A 1B 1C 1D 1E

숫자를 한 숫자 체계에서 다른 숫자 체계로 변환하려면 숫자 체계와 숫자 표현 형식에 대한 기본 정보가 있어야 합니다.

수량 에스숫자 체계에 사용되는 다양한 숫자의 수를 숫자 체계의 밑수 또는 밑수라고 합니다. 일반적으로 양수 엑스베이스가 있는 위치 시스템에서 에스다항식으로 표현될 수 있습니다:

어디 에스- 숫자 체계의 기본 - 주어진 숫자 체계에서 허용되는 숫자. 시퀀스는 전체 부분을 구성합니다. 엑스, 그리고 시퀀스는 분수 부분입니다 엑스.

컴퓨팅에서 가장 널리 사용되는 것은 2진수(BIN - 2진수) 및 2진수 코드화 숫자 시스템입니다: 8진수(OCT - 8진수), 16진수(HEX - 16진수) 및 2진수 코드화 10진수(BCD - 2진수 코드화 10진수).

앞으로는 어떤 수체계를 사용하는지 표시하기 위해 괄호 안에 숫자를 넣고, 그 수체계의 기준을 색인에 표시할 예정이다. 숫자 엑스기반으로 에스표시됩니다.

이진수 시스템

수 체계의 기본은 숫자 2( 에스= 2) 그리고 숫자를 쓰는 데는 0과 1이라는 두 자리 숫자만 사용됩니다. 이진수의 숫자를 나타내려면 명확하게 다른 두 가지 안정 상태를 갖는 물리적 요소가 있으면 충분합니다. 그 중 하나는 1을 나타내고 다른 하나는 0을 나타냅니다. .

숫자 체계에서 이진수로 변환을 시작하기 전에 이진수 체계로 숫자를 쓰는 예를 주의 깊게 연구해야 합니다.

이론에 깊이 들어갈 필요는 없지만 결과만 얻으면 되는 경우에는 다음을 사용하십시오. 온라인 계산기 십진수 시스템에서 다른 시스템으로 정수 변환 .

8진수 및 16진수 체계

이러한 숫자 체계는 이진 코드로 되어 있으며 숫자 체계의 밑은 2의 정수 거듭제곱입니다. - 8진수 및 - 16진수.

8진수 체계에서( 에스= 8) 0, 1, 2, 3, 4, 5, 6, 7의 8자리 숫자가 사용됩니다.

숫자 체계에서 8진수로 변환을 시작하기 전에 8진수 체계에 숫자를 쓰는 예를 주의 깊게 연구해야 합니다.

16진수 체계( 에스= 16) 16자리 숫자가 사용됩니다: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

16진수로 숫자를 쓰는 예:

8진수와 16진수 체계가 널리 사용되는 데에는 두 가지 요인이 있습니다.

첫째, 이러한 시스템을 사용하면 이진수 표기를 보다 간결한 표현으로 바꿀 수 있습니다(8진수 및 16진수 시스템의 숫자 표기는 각각 이 숫자의 이진수 표기보다 3배 및 4배 더 짧습니다). 둘째, 이진법과 8진법, 16진법 간의 숫자 상호 변환은 상대적으로 간단합니다. 실제로, 8진수의 경우 각 자릿수는 세 개의 이진수 그룹(3화음)으로 표시되고, 16진수의 경우 - 네 개의 이진수 그룹(사중수)으로 표시되므로 이진수를 변환하려면 두 숫자를 결합하는 것으로 충분합니다. 숫자는 각각 3자리 또는 4자리 그룹으로 나누어 쉼표에서 오른쪽과 왼쪽으로 이동합니다. 이 경우 필요한 경우 정수 부분의 왼쪽 및/또는 분수 부분의 오른쪽에 0이 추가되고 이러한 각 그룹(삼중 또는 사중)은 동등한 8진수 또는 16진수 숫자로 대체됩니다(표 참조).

이론에 깊이 들어갈 필요는 없지만 결과만 얻으면 되는 경우에는 다음을 사용하십시오. 온라인 계산기 십진수 시스템에서 다른 시스템으로 정수 변환 .

서로 다른 숫자 체계의 숫자 간 대응
12월 큰 상자 10월 마녀 BCD
0 0000 0 0 0000
1 0001 1 1 0001
2 0010 2 2 0010
3 0011 3 3 0011
4 0100 4 4 0100
5 0101 5 5 0101
6 0110 6 6 0110
7 0111 7 7 0111
8 1000 10 8 1000
9 1001 11 9 1001
10 1010 12 에이 0001 0000
11 1011 13 0001 0001
12 1100 14 기음 0001 0010
13 1101 15 0001 0011
14 1110 16 이자형 0001 0100
15 1111 17 에프 0001 0101

역변환의 경우 각 OCT 또는 HEX 숫자는 각각 이진수의 삼중 또는 사중으로 대체되며 왼쪽과 오른쪽의 중요하지 않은 0은 삭제됩니다.

앞에서 설명한 예의 경우 다음과 같습니다.

이론에 깊이 들어갈 필요는 없지만 결과만 얻으면 되는 경우에는 다음을 사용하십시오. 온라인 계산기 십진수 시스템에서 다른 시스템으로 정수 변환 .

이진수 체계

BCD 시스템에서 각 숫자의 가중치는 10진법에서와 같이 10의 거듭제곱과 동일하며 각 10진수는 4개의 이진수로 인코딩됩니다. BCD 시스템에 십진수를 쓰려면 각 숫자를 바꾸는 것으로 충분합니다. 십진수동등한 4자리 이진 조합:

어느 십진수 BCD 표기법으로 표현할 수 있지만 이는 숫자와 동등한 이진법이 아니라는 점을 기억하세요. 이는 다음 예에서 볼 수 있습니다.

한 숫자 체계에서 다른 숫자 체계로 숫자 변환

허락하다 엑스- 베이스가 있는 숫자 체계의 숫자 에스, 이는 기본이 있는 시스템에서 표현되어야 합니다. 시간. 두 가지 경우를 구별하는 것이 편리합니다.

첫 번째 경우에는 베이스로 이동할 때 시간이 시스템의 산술을 사용할 수 있습니다. 변환 방법은 숫자를 거듭제곱의 다항식으로 표현하는 것으로 구성됩니다. 에스, 기수 체계의 산술 규칙에 따라 이 다항식을 계산할 때에도 마찬가지입니다. 시간. 예를 들어 2진수나 8진수 체계에서 10진수 체계로 전환하는 것이 편리합니다. 설명된 기술은 다음 예를 통해 설명됩니다.

.

.

두 경우 모두 산술 연산은 10진수 체계의 규칙에 따라 수행됩니다.

두 번째 경우 ()에서는 기수 연산을 사용하는 것이 더 편리합니다. 에스. 여기에서는 정수와 고유 분수의 변환이 다른 규칙에 따라 수행된다는 점을 고려해야 합니다. 환승할 때 대분수정수 부분과 분수 부분은 각각 자체 규칙에 따라 변환되며, 그 후 결과 숫자는 쉼표로 구분되어 기록됩니다.

정수 변환

정수 변환 규칙은 다음에서 명확해집니다. 일반 공식임의의 위치 시스템에 숫자를 쓰는 것입니다. 원래 숫자 체계의 숫자를 보자 에스처럼 보입니다. 베이스가 있는 숫자 체계로 작성된 숫자를 받아야 합니다. 시간:

.

값을 찾으려면 이 다항식을 다음과 같이 나눕니다. 시간:

.

보시다시피, 최하위 숫자, 즉 첫 번째 나머지 숫자와 같습니다. 다음 유효 숫자는 몫을 다음으로 나누어 결정됩니다. 시간:

.

나머지도 0이 될 때까지 몫을 나누어 계산합니다.

s진 수 체계에서 h진 수 체계로 정수를 변환하려면, 몫이 0과 같습니다. h를 밑으로 하는 숫자 표기에서 가장 중요한 숫자는 마지막 나머지이고, 그 뒤의 숫자는 이전 나눗셈의 나머지를 형성하며, 영수증의 역순으로 기록됩니다.

1. 다양한 숫자 체계의 서수 계산.

안에 현대 생활우리는 위치 숫자 체계, 즉 숫자로 표시되는 숫자가 숫자 표기에서 숫자의 위치에 따라 달라지는 체계를 사용합니다. 따라서 앞으로는 "위치"라는 용어를 생략하고 이들에 대해서만 설명하겠습니다.

한 시스템에서 다른 시스템으로 숫자를 변환하는 방법을 배우기 위해 십진법의 예를 사용하여 숫자의 순차적 기록이 어떻게 발생하는지 이해합니다.

우리는 십진수 체계를 가지고 있기 때문에 숫자를 구성하는 데에는 10개의 기호(숫자)가 있습니다. 우리는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9로 세기 시작합니다. 숫자는 끝났습니다. 숫자의 비트 심도를 높이고 최하위 숫자를 재설정합니다: 10. 그런 다음 모든 숫자가 사라질 때까지 낮은 숫자를 다시 증가시킵니다: 11, 12, 13, 14, 15, 16, 17, 18, 19. 높은 숫자를 1 증가시키고 낮은 숫자를 재설정합니다: 20. 두 숫자에 모든 숫자를 사용하면(99가 됩니다) 숫자의 자릿수 용량을 다시 늘리고 기존 숫자를 100으로 재설정합니다. 에.

두 번째, 세 번째, 다섯 번째 시스템에서도 동일한 작업을 수행해 보겠습니다(두 번째 시스템, 세 번째 등에 대한 표기법을 소개합니다).

0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

숫자 체계의 밑이 10보다 큰 경우 추가 문자를 입력해야 하며 라틴 알파벳 문자를 입력하는 것이 일반적입니다. 예를 들어, 10진법의 경우 10자리 외에 두 개의 문자( 및 )가 필요합니다.

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

2. 십진수 체계를 다른 체계로 변환합니다.

양의 정수 십진수를 다른 밑수를 사용하는 숫자 체계로 변환하려면 이 숫자를 밑수로 나누어야 합니다. 결과 몫을 밑으로 다시 나누고, 몫이 밑보다 작아질 때까지 더 나눕니다. 결과적으로 마지막 몫과 마지막부터 시작하여 모든 나머지를 한 줄에 기록하십시오.

예시 1.십진수 46을 이진수 체계로 변환해 보겠습니다.

예시 2. 10진수 672를 8진수 체계로 변환해 보겠습니다.

예시 3. 10진수 934를 16진수 체계로 변환해 보겠습니다.

3. 숫자 체계를 십진수로 변환합니다.

다른 시스템의 숫자를 십진수로 변환하는 방법을 배우기 위해 십진수에 대한 일반적인 표기법을 분석해 보겠습니다.
예를 들어, 십진수 325는 5 단위, 2는 십, 3은 백입니다.

상황은 다른 숫자 체계에서도 똑같습니다. 단지 10, 100 등이 아니라 숫자 체계의 밑수를 곱할 것입니다. 예를 들어, 삼항 수 체계에서 숫자 1201을 생각해 보겠습니다. 0부터 시작하여 오른쪽에서 왼쪽으로 숫자의 번호를 매기고 우리 숫자를 숫자와 3의 숫자 곱셈의 합으로 상상해 봅시다.

이것은 숫자의 십진수 표기법입니다.

예시 4. 8진수 511을 10진수 체계로 변환해 보겠습니다.

실시예 5. 16진수 1151을 10진수 체계로 변환해 보겠습니다.

4. 이진법에서 "2의 거듭제곱"(4, 8, 16 등)을 기본으로 하는 시스템으로 변환합니다.

이진수를 2진수의 거듭제곱을 갖는 숫자로 변환하려면 이진수 시퀀스를 오른쪽에서 왼쪽으로 거듭제곱과 동일한 자릿수에 따라 그룹으로 나누고 각 그룹을 새 그룹의 해당 숫자로 대체해야 합니다. 숫자 체계.

예를 들어 이진수 1100001111010110을 8진법으로 변환해 보겠습니다. 이를 위해 오른쪽(부터)부터 시작하여 3개의 문자 그룹으로 나눈 다음 대응표를 사용하여 각 그룹을 새 숫자로 바꿉니다.

우리는 1단계에서 대응표를 작성하는 방법을 배웠습니다.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

저것들.

실시예 6.이진수 1100001111010110을 16진수로 변환해 보겠습니다.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 에이
1011
1100 기음
1101
1110 이자형
1111 에프

5. 기본 "2의 거듭제곱"(4, 8, 16 등)을 사용하는 시스템을 이진수로 변환합니다.

이 번역은 이전 번역과 유사합니다. 뒷면: 각 숫자를 조회 테이블의 이진수 그룹으로 바꿉니다.

실시예 7. 16진수 C3A6을 2진수 체계로 변환해 보겠습니다.

이렇게 하려면 숫자의 각 자릿수를 대응표의 4자리 그룹(이후 )으로 바꾸고, 필요한 경우 그룹의 시작 부분에 0을 추가합니다.



통합 상태 시험 등을 치르는 사람들...

학교의 컴퓨터 과학 수업에서 일반적으로 학생들에게 숫자를 한 시스템에서 다른 시스템으로 변환하는 가장 복잡하고 불편한 방법을 보여주는 것은 이상합니다. 이 방법은 원래 숫자를 밑수로 순차적으로 나누고 나머지를 역순으로 수집하는 방식으로 구성됩니다.

예를 들어 숫자 810 10을 이진수로 변환해야 합니다.

결과를 아래에서 위로 역순으로 씁니다. 81010 = 11001010102로 나옵니다.

바이너리 시스템으로 변환해야 한다면, 큰 숫자, 그러면 분할 사다리는 다층 건물의 크기를 갖습니다. 그리고 어떻게 모든 1과 0을 수집하고 단 하나도 놓치지 않을 수 있습니까?

컴퓨터 과학의 통합 상태 시험 프로그램에는 숫자를 한 시스템에서 다른 시스템으로 변환하는 것과 관련된 여러 작업이 포함됩니다. 일반적으로 이는 8진수와 16진수 시스템, 그리고 2진수 간의 변환입니다. A1, B11 섹션입니다. 그러나 섹션 B7과 같은 다른 숫자 체계에도 문제가 있습니다.

우선, 미래 직업으로 컴퓨터 과학을 선택하는 사람들이 꼭 알아두면 좋을 두 가지 표를 떠올려 보겠습니다.

2번의 거듭제곱 표:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

이전 숫자에 2를 곱하면 쉽게 구할 수 있습니다. 따라서 이 숫자를 모두 기억하지 못한다면 기억하는 숫자에서 나머지 숫자를 마음 속에서 얻는 것은 어렵지 않습니다.

16진수로 표현된 0부터 15까지의 이진수 표:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 에이 기음 이자형 에프

알려진 값에 1을 더하면 결측값도 쉽게 계산할 수 있습니다.

정수 변환

그럼 바이너리 시스템으로 직접 변환하는 것부터 시작해 보겠습니다. 같은 숫자 810 10을 사용하겠습니다. 우리는 이 숫자를 2의 거듭제곱과 동일한 용어로 분해해야 합니다.

  1. 우리는 810에 가장 가깝고 이를 초과하지 않는 두 개의 힘을 찾고 있습니다. 이는 2 9 = 512입니다.
  2. 810에서 512를 빼면 298이 됩니다.
  3. 1이나 0이 더 이상 남지 않을 때까지 1단계와 2단계를 반복합니다.
  4. 우리는 다음과 같이 계산했습니다: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
그런 다음 두 가지 방법이 있으며 그 중 하나를 사용할 수 있습니다. 어떤 숫자 체계에서든 그 밑은 항상 10이라는 것을 아는 것이 얼마나 쉬운가. 밑의 제곱은 항상 100이고 세제곱은 1000이다. 즉, 숫자 체계의 밑의 차수는 1(일)이고, 그 뒤에는 학위만큼 많은 0이 있습니다.

방법 1: 용어 표시의 숫자에 따라 1을 배열합니다. 이 예에서는 9, 8, 5, 3, 1입니다. 나머지 자리에는 0이 포함됩니다. 그래서 우리는 숫자 810 10 = 1100101010 2의 이진 표현을 얻었습니다. 단위는 오른쪽에서 왼쪽으로 0부터 계산하여 9위, 8위, 5위, 3위, 1위에 배치됩니다.

방법 2: 가장 큰 것부터 시작하여 서로 2의 거듭제곱으로 용어를 작성해 보겠습니다.

810 =

이제 부채를 접듯이 1100101010 단계를 추가해 보겠습니다.

그게 다야. 동시에 “숫자 810의 이진수 표현에는 몇 단위가 있는가?”라는 문제도 간단하게 해결됩니다.

대답은 이 표현에 있는 용어(2의 거듭제곱)만큼 많습니다. 810에는 5개가 있습니다.

이제 예제가 더 간단해졌습니다.

숫자 63을 5진수 체계로 변환해 보겠습니다. 5에서 63의 가장 가까운 거듭제곱은 25(5제곱)입니다. 큐브(125)는 이미 많을 것입니다. 즉, 63은 5의 제곱과 세제곱 사이에 있습니다. 그런 다음 5 2에 대한 계수를 선택하겠습니다. 2입니다.

63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5를 얻습니다.

그리고 마지막으로 8진수와 16진수 시스템 간의 번역이 매우 쉽습니다. 기본이 2의 거듭제곱이기 때문에 숫자를 이진 표현으로 바꾸기만 하면 변환이 자동으로 수행됩니다. 8진수 시스템의 경우 각 숫자는 3개의 2진수로 대체되고, 16진수 시스템의 경우 4개의 숫자로 대체됩니다. 이 경우 최대 유효 숫자를 제외하고 앞에 오는 모든 0이 필요합니다.

숫자 547 8을 이진수로 변환해 보겠습니다.

547 8 = 101 100 111
5 4 7

예를 들어 7D6A 16과 같이 하나 더.

7D6A 16 = (0)111 1101 0110 1010
7 6 에이

숫자 7368을 16진법으로 변환해 보겠습니다. 먼저 숫자를 세 개의 숫자로 쓴 다음 끝에서부터 네 개의 숫자로 나눕니다. 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. 숫자 C25 16을 8진법으로 변환해 보겠습니다. 먼저 숫자를 4개로 쓴 다음 끝부터 3개로 나눕니다. C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. 이제 다시 십진수로 변환하는 방법을 살펴보겠습니다. 어렵지 않습니다. 가장 중요한 것은 계산에 실수를 하지 않는 것입니다. 밑수와 계수를 사용하여 숫자를 다항식으로 확장합니다. 그런 다음 모든 것을 곱하고 더합니다. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7*8 2 + 3*8 + 2 = 474 .

음수 변환

여기서 숫자가 2의 보수로 표시된다는 점을 고려해야 합니다. 숫자를 추가 코드로 변환하려면 숫자의 최종 크기, 즉 숫자를 맞추려는 크기(1바이트, 2바이트, 4바이트)를 알아야 합니다. 숫자의 가장 중요한 숫자는 부호를 의미합니다. 0이 있으면 양수, 1이면 음수입니다. 왼쪽에는 숫자에 부호가 추가됩니다. 우리는 부호 없는 숫자를 고려하지 않습니다. 숫자는 항상 양수이며 가장 중요한 비트는 정보로 사용됩니다.

음수를 이진수로 변환하려면 양수를 이진수로 변환한 다음 0을 1로, 1을 0으로 변경해야 합니다. 그런 다음 결과에 1을 추가합니다.

그럼 숫자 -79를 이진법으로 변환해 보겠습니다. 숫자는 1바이트가 소요됩니다.

79를 이진 시스템으로 변환하면 79 = 1001111입니다. 바이트 크기인 8비트에 왼쪽에 0을 추가하면 01001111이 됩니다. 1을 0으로, 0을 1로 변경합니다. 10110000을 얻습니다. 결과적으로 우리는 10110001이라는 답을 얻습니다. 그 과정에서 우리는 대답한다 통합 상태 시험 문제"숫자 -79의 이진수 표현에는 몇 개가 있습니까?" 답은 4이다.

숫자의 역수에 1을 추가하면 표현 +0 = 00000000과 -0 = 11111111 사이의 차이가 제거됩니다. 2의 보수 코드에서는 00000000과 동일하게 작성됩니다.

분수 변환

분수는 우리가 맨 처음에 살펴보았던 밑수로 정수를 나누는 역순으로 변환됩니다. 즉, 전체 부분을 모아서 새로운 베이스를 순차적으로 곱셈을 사용하는 것입니다. 곱셈 과정에서 얻은 정수 부분은 수집되지만, 다음 연산에는 참여하지 않습니다. 분수만 곱해집니다. 원래 숫자가 1보다 크면 정수 부분과 소수 부분이 별도로 변환된 다음 함께 붙입니다.

숫자 0.6752를 이진법으로 변환해 보겠습니다.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

분수 부분에서 모든 0을 얻거나 필요한 정확도가 달성될 때까지 프로세스는 오랜 시간 동안 계속될 수 있습니다. 지금은 6번째 표지판에서 멈추자.

0.6752 = 0.101011로 나타납니다.

숫자가 5.6752라면 이진수로는 101.101011이 됩니다.



공유하다