На прошлом уроке мы рассмотрели перевод из различных СС в

advertisement
Алгоритм перевода числа из десятичной СС в недесятичную СС.
На прошлом уроке мы рассмотрели перевод из различных СС в
десятичную методом разложения по степеням основания.
Теперь рассмотрим перевод из десятичной СС в другие СС.
Для начала рассмотрим перевод из 10-й в 2-ную СС.
Это можно также проделать уже известным нам методом
разложения по степеням основания. В данном случае по степеням числа 2.
Т.к. вы знаете степени числа 2 наизусть, то поняв алгоритм, вы
будете переводить числа из десятичной СС в двоичную очень легко.
Алгоритм:
Шаг 1. Находим степень числа 2, чтобы число 2 в найденной
степени было наиболее близко к заданному числу (равно или меньше).
Эта степень будет номером старшего разряда в ответе..
Шаг 2. В ответе в этом разряде ставим единицу.
Шаг 3. Вычитаем из заданного числа число 2 в найденной степени.
Получаем новое число.
Шаг 4. Повторяем Шаг 1, т.е. опять находим степень числа 2, чтобы
число 2 в найденной степени было наиболее близко к заданному числу
(равно или меньше).
Эта степень будет номером следующего разряда в ответе.
Шаг 5. Повторяем Шаг 2, т.е. ставим в этом разряде единицу.
Так поступаем до тех пор пока, не будут просмотрены все степени
числа 2.
В тех разрядах в ответе, где степени числа два не участвовали в
разложении, ставим нули.
Гораздо проще понять этот алгоритм на примере. А после
тренировки на нескольких примерах, вы будете переводить числа из 2ной в 10-ную очень быстро.
1
Задача. Перевести число 10110 в двоичную систему счисления.
 Находим степень числа 2 такую, чтобы число 2 в этой степени было
наиболее близким к 101, равным или меньше.
Всем знающим наизусть степени числа 2, сразу ясно, что это число
6
64 = 2 .
 В ответе в 6-ом разряде будет 1. Начинаем записывать ответ. Помним:
разряд отсчитывается справа налево, начиная с нулевого.
Т.е. число в ответе будет семизначным.
1 __ __ __ __ __ __
 Вычитаем из числа 101 число 64. 101 – 64 = 37
 Находим степень числа 2 такую, чтобы число 2 в этой степени было
наиболее близким к 37, равным или меньше.
5
32 = 2 .
 В ответе в 5-ом разряде пишем единицу.
1 1 __ __ __ __ __
 Вычитаем из числа 37 число 32. 37 – 32 = 5.
 Находим степень числа 2 такую, чтобы число 2 в этой степени было
наиболее близким к 5, равным или меньше.
2
4=2 .
 В ответе во 2-ом разряде пишем единицу.
1 1 __ __ 1 __ __
 Вычитаем из числа 5 число 4.
5 – 4 = 1.
0
1=2
 В ответе в 0-ом разряде пишем единицу.
1 1 __ __ 1 __ 1
 Остальные разряды в ответе заполняем нулями, т.к.
соответствующие степени числа 2 нам не встретились.
1 1 0 0 1 0 1
Ответ: 101 10 = 1100101 2
2
Потренируемся переводить число из десятичного в двоичное
методом разложения по степеням основания.
Задача. Перевести число 86,125 10 в двоичную систему счисления.
Разложим сначала целую часть по положительным степеням числа 2,
Затем разложим дробную часть по отрицательным степеням числа 2.
 Находим степень числа 2 такую, чтобы число 2 в этой степени было
наиболее близким к 86, равным или меньше.
6
64 = 2 .
 В ответе в 6-ом разряде будет 1. Начинаем записывать ответ. Помним:
разряд отсчитывается справа налево, начиная с нулевого.
Т.е. целая часть числа в ответе будет состоять из семи разрядов.
1 __ __ __ __ __ __
 Вычитаем из числа 86 число 64. 86 – 64 = 22
 Находим степень числа 2 такую, чтобы число 2 в этой степени было
наиболее близким к 22, равным или меньше.
4
16 = 2 .
 В ответе в 4-ом разряде пишем единицу.
1 __ 1 __ __ __ __
 Вычитаем из числа 22 число 16. 22 – 16 = 6.
 Находим степень числа 2 такую, чтобы число 2 в этой степени было
наиболее близким к 6, равным или меньше.
2
4=2 .
 В ответе во 2-ом разряде пишем единицу.
1 __ 1 __ 1 __ __
 Вычитаем из числа 6 число 4.
6 – 4 = 2.
1
2=2
 В ответе в 1-ом разряде пишем единицу.
1 __ 1 __ 1
1 __
 2–2=0
3
 Остальные разряды в ответе заполняем нулями, т.к.
соответствующие степени числа 2 нам не встретились.
1 0 1 0 1 1 0
Разложим дробную часть 0,125 по отрицательным степеням числа 2. Для
этого просматриваем все степени 2 слева направо.
Обычно в задачах дальше -3 степени дело не идет, а мы выучили
наизусть.
 2-1 = 0,5 > 0,125 Ставим в -1 разряд ноль
 2-2 = 0,25 > 0,125 Ставим в -2 разряд ноль
 2-3 = 0,125
Ставим в -3 разряд единицу.
0, 0 0 1
Ответ: 86,125 10 = 1010110,001 2
Мы рассмотрели перевод из десятичной в двоичную методом
разложения по степеням.
4
Теперь изучим другой более универсальный метод перевода числа из
десятичной в любую другую недесятичную систему счисления.
Отдельно переводится целая часть и отдельно дробная часть числа.
Перевод целой части осуществляется методом деления целой
части числа на новое основание.
- Число делится на основание.
- Остаток записывается. Остаток первого деления будет цифрой
младшего разряда записи числа в новой СС.
- Целая часть снова делится на основание.
- Остаток записывается.
- Деление и запись остатка продолжается до тех пор, пока целая часть
не будет меньше основания. Эта последняя целая часть будет цифрой
старшего разряда записи числа в новой СС.
- Результат формируется в обратном порядке.
Перевод дробной части осуществляется методом умножения
дробной части числа на новое основание.
- Дробная часть умножается на основание.
- Целая часть результата записывается.
- Дробная часть результата снова умножается на основание.
- Целая часть результата записывается.
- Умножение и запись целой части результата продолжается до тех пор,
пока в дробной части не будет получен ноль.
- Результат формируется в прямом порядке.
На словах звучит сложно, на деле очень проще простого.
5
Переведем это же число 86,125 10 в двоичную СС новым способом.
Задача. Перевести число 86,125 10 в двоичную систему счисления.
Переведем сначала целую часть методом деления на новое основание.
-
86
2
86
43
2
42
21
2
20
-10
0
-
1
-
1
2
10
0
5
2
1
- 22
-4
2
1
0
86 10 = 1010110
Переведем дробную часть методом умножения на новое основание.
0,125 х 2 = ( 0 ), 25
0,25 х 2 = ( 0 ), 5
0,5 х 2 = ( 1 ), 0
0,125 10 = 0,001 2
Ответ: 86,125 10 = 1010110,001 2
6
Задача. Перевести число 54,75 10 в двоичную систему счисления
Переведем сначала целую часть методом деления на новое основание.
-
54
2
54
27
2
26
13
0
-
1
2
-
12
1
-
6
6
0
2
3
-2
2
1
1
54 10 = 110110 2
Переведем дробную часть методом умножения на новое основание.
0,75 х 2 = ( 1 ), 5
0,5 х 2 = ( 1 ), 0
0,75 10 = 0,11 2
Ответ: 54,75 10 = 110110,11 2
7
Задача. Перевести число 194,5 10 в двоичную систему счисления
Переведем сначала целую часть методом деления на новое основание.
194
2
194
97
2
96
48
2
48
-24
-
-
0
1
-
0
24
0
2
12
2
0
- 66
-12
0
2
- 32
2
1
1
194 10 = 11000010 2
Переведем дробную часть методом умножения на новое основание.
0,5 х 2 = ( 1 ), 0
0,5 10 = 0,1 2
Ответ: 194,5 10 = 11000010,1 2
8
Теперь потренируемся переводить из десятичной СС в другие
позиционные системы.
Задача. Перевести число 125 10 в систему счисления с основанием 7.
125
7
119
17
-
6
-
14
7
2
3
Ответ: 125 10 = 236 7
Задача. Перевести число 50 10 в систему счисления с основанием 6.
-
50
48
2
6
8
-
6
6
1
2
Ответ: 50 10 = 122 6
Задача. Перевести число 123 10 в систему счисления с основанием 16.
123 16
-
112
7
11
11 10 = В 16
Ответ: 123 10 = 7В 6
9
Download