Алгоритм перевода числа из десятичной СС в недесятичную СС. На прошлом уроке мы рассмотрели перевод из различных СС в десятичную методом разложения по степеням основания. Теперь рассмотрим перевод из десятичной СС в другие СС. Для начала рассмотрим перевод из 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