Сдающим ЕГЭ и не только…
Странно, что в школах на уроках информатики обычно показывают ученикам самый сложный и неудобный способ перевода чисел из одной системы в другую. Это способ заключается в последовательном делении исходного числа на основание и сборе остатков от деления в обратном порядке.
Например, нужно перевести число 810 10 в двоичную систему:
Результат записываем в обратном порядке снизу вверх. Получается 81010 = 11001010102
Если нужно переводить в двоичную систему довольно большие числа, то лестница делений приобретает размер многоэтажного дома. И как тут собрать все единички с нулями и ни одной не пропустить?
В программу ЕГЭ по информатике входят несколько задач, связанных с переводом чисел из одной системы в другую. Как правило, это преобразование между 8- и 16-ричными системами и двоичной. Это разделы А1, В11. Но есть и задачи с другими системами счисления, как например, в разделе 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 |
Таблица двоичных чисел от 0 до 15 c 16-ричным представлением:
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 | A | B | C | D | E | F |
Перевод целых чисел
Итак, начнем с перевода сразу в двоичную систему. Возьмём то же число 810 10 . Нам нужно разложить это число на слагаемые, равные степеням двойки.
Способ 1 : Расставить 1 по тем разрядам, какие получились показатели у слагаемых. В нашем примере это 9, 8, 5, 3 и 1. В остальных местах будут стоять нули. Итак, мы получили двоичное представление числа 810 10 = 1100101010 2 . Единицы стоят на 9-м, 8-м, 5-м, 3-м и 1-м местах, считая справа налево с нуля.
Способ 2 : Распишем слагаемые как степени двойки друг под другом, начиная с большего.
810 =
А теперь сложим эти ступеньки вместе, как складывают веер: 1100101010
.
Вот и всё. Попутно также просто решается задача «сколько единиц в двоичной записи числа 810?».
Ответ - столько, сколько слагаемых (степеней двойки) в таком его представлении. У 810 их 5.
Теперь пример попроще.
Переведём число 63 в 5-ричную систему счисления. Ближайшая к 63 степень числа 5 - это 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-ричными системами. Так как их основанием является степень двойки, то перевод делается автоматически, просто заменой цифр на их двоичное представление. Для 8-ричной системы каждая цифра заменяется тремя двоичными разрядами, а для 16-ричной четырьмя. При этом все ведущие нули обязательны, кроме самого старшего разряда.
Переведем в двоичную систему число 547 8 .
547 8 = | 101 | 100 | 111 |
5 | 4 | 7 |
Ещё одно, например 7D6A 16 .
7D6A 16 = | (0)111 | 1101 | 0110 | 1010 |
7 | D | 6 | A |
Переведем в 16-ричную систему число 7368. Сначала цифры запишем тройками, а потом поделим их на четверки с конца: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16 . Переведем в 8-ричную систему число C25 16 . Сначала цифры запишем четвёрками, а потом поделим их на тройки с конца: 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 .
Перевод отрицательных чисел
Здесь нужно учесть, что число будет представлено в дополнительном коде. Для перевода числа в дополнительный код нужно знать конечный размер числа, то есть во что мы хотим его вписать - в байт, в два байта, в четыре. Старший разряд числа означает знак. Если там 0, то число положительное, если 1, то отрицательное. Слева число дополняется знаковым разрядом. Беззнаковые (unsigned) числа мы не рассматриваем, они всегда положительные, а старший разряд в них используется как информационный.
Для перевода отрицательного числа в двоичный дополнительный код нужно перевести положительное число в двоичную систему, потом поменять нули на единицы и единицы на нули. Затем прибавить к результату 1.
Итак, переведем число -79 в двоичную систему. Число займёт у нас один байт.
Переводим 79 в двоичную систему, 79 = 1001111. Дополним слева нулями до размера байта, 8 разрядов, получаем 01001111. Меняем 1 на 0 и 0 на 1. Получаем 10110000. К результату прибавляем 1, получаем ответ 10110001 . Попутно отвечаем на вопрос ЕГЭ «сколько единиц в двоичном представлении числа -79?». Ответ - 4.
Прибавление 1 к инверсии числа позволяет устранить разницу между представлениями +0 = 00000000 и -0 = 11111111. В дополнительном коде они будут записаны одинаково 00000000.
Перевод дробных чисел
Дробные числа переводятся способом, обратным делению целых чисел на основание, который мы рассмотрели в самом начале. То есть при помощи последовательного умножения на новое основание с собиранием целых частей. Полученные при умножении целые части собираются, но не участвуют в следующих операциях. Умножаются только дробные. Если исходное число больше 1, то целая и дробная части переводятся отдельно, потом склеиваются.
Переведем число 0,6752 в двоичную систему.
0 | ,6752 |
*2 | |
1 | ,3504 |
*2 | |
0 | ,7008 |
*2 | |
1 | ,4016 |
*2 | |
0 | ,8032 |
*2 | |
1 | ,6064 |
*2 | |
1 | ,2128 |
Процесс можно продолжать долго, пока не получим все нули в дробной части или будет достигнута требуемая точность. Остановимся пока на 6-м знаке.
Получается 0,6752 = 0,101011 .
Если число было 5,6752, то в двоичном виде оно будет 101,101011 .
Тип урока: урок – закрепление изученного. (обобщающий)
Вид: комбинированный урок.
Цель: Обобщить и применить для решения задачи знания о способах и методах переводов чисел. Развитие познавательного интереса, творческой активности учащихся.
Задачи урока:
Обучающая: углубление, обобщение и
систематизация приемов перевода чисел из одной в
другую системы счисления.
Воспитательная
: развитие познавательного
интереса, логического мышления.
Развивающая
: развитие алгоритмического
мышления, памяти, внимательности.
Ход урока:
- Организационный момент (3 мин).
- Проверка домашнего задания:
а) Теория: Калькулятор (3 мин);
б) Практика: проверка д/з за ПК (7 мин).- Принцип “8-2-16”
а) теория: суть принципа, примеры (10 мин);
б) практика: выполнить практическое задание (по карточкам) (15 мин).- Запись домашнего задания (2 мин).
- Подведение итогов.
1. Организационный момент.
2. Проверка домашнего задания:
а) Пройти по рядам и посмотреть (поверхностно – есть или нет) записи решения упражнений. Предложить ученикам проверить домашние задания самостоятельно с помощью ПК. Для этого мы используем стандартное приложение ОС Windows – Калькулятор.
Запись на доске и в тетради:
Запуск: Пуск – Программы – Стандартные – Калькулятор
Команда: Вид – Инженерный.
С помощью этой программы можно переводить числа, записанные в двоичной, восьмеричной, десятичной и шестнадцатеричной системах координат. Имеют обозначения:
Hex (Hexadecimal) - шестнадцатеричная
Dec (Decimal) - десятичная
Oct (Octal) - восьмеричная
Bin (Binary) – двоичная.
Рисунок 1
Алгоритм перевода чисел:
Например, перевести число 19F 16 =X 10 .
б) Ученики садятся за компьютеры и выполняют самопроверку.
а) Раздаю на стол карточки с таблицами:
Таблица перевода чисел из 8
с.с. в 2 с.с. и наоборот через ТРИАДЫ.
Например: 611 8 =110 001 001 2 Таблица перевода чисел из 16 с.с. в 2 с.с. и наоборот через ТЕТРАДЫ.
Например: 61А 16 =110 0001 1010 2 |
В восьмеричной системе счисления восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7. Перевод из этой системы в двоичную достаточно прост. Достаточно составить таблицу триад (по три цифры).
При переводе восьмеричного числа в двоичное заменяют каждую восьмеричную цифру на соответствующую триаду из таблицы (см примеры в карточке).
Для обратной операции, то есть для перевода из двоичной в восьмеричную систему, двоичное число разбивают на триады (справа налево), потом заменяют каждую группу одной восьмеричной цифрой.
Аналогично производим перевод из шестнадцатеричной в двоичную системы и наоборот.
б) Предлагаю ребятам для закрепления посостязаться друг с другом “Кто быстрее”, кроме скорости здесь большую роль играет внимательность и аккуратность.
Вариант 1.
Вариант 2.
Примеры рисунков – ответов:
/p>
Рисунок 2
Рисунок 3
Используемая литература:
Перевод чисел из 8-ой системы счисления в 16-ую. 568?2E16.
Картинка 19 из презентации «Перевод систем счисления» к урокам математики на тему «Виды систем счисления»
Размеры: 960 х 720 пикселей, формат: jpg. Чтобы бесплатно скачать картинку для урока математики, щёлкните по изображению правой кнопкой мышки и нажмите «Сохранить изображение как...». Для показа картинок на уроке Вы также можете бесплатно скачать презентацию «Перевод систем счисления.ppsx» целиком со всеми картинками в zip-архиве. Размер архива - 138 КБ.
Скачать презентацию«Двоичная система» - 1, 2, 4, 8, 16, 32, 64, 128,... Перевод целых десятичных чисел в двоичный код. Любое десятичное число можно представить в виде суммы слагаемых ряда: Вильгельм Готфрид Лейбниц (1646-1716). Переведем число 121 в двоичную систему счисления. Двоичная система счисления. 1 способ – метод разностей.
«Примеры систем счисления» - Римская система счисления. CCC. Разряды. 11. 1999 =. Числа: 123, 45678, 1010011, CXL Цифры: 0, 1, 2, … 4 3 2 1 0. M M. = 1644. – 10. 5. I, V, X, L, … IX. 6. = 1·24 + 0·23 + 0·22 + 1·21 + 1·20 = 16 + 2 + 1 = 19. Тема 2. Двоичная система счисления.
«Позиционные и непозиционные системы счисления» - Все системы представления чисел делят на позиционные и непозиционные. Любая позиционная система счисления характеризуется основанием. Поэтому преимущественное применение получили позиционные системы счисления. Развернутая форма записи чисел в позиционной системе счисления. Системы счисления. На практике используют сокращенную запись чисел: А= anan-1 ... a1a0a-1... a-m.
«Разные системы счисления» - Подведение итогов урока, домашнее задание. Позиционные системы счисления. Алфавитные системы счисления. Урок окончен, до свидания! Практическое задание: Записать римскими цифрами: 29, 57, 128, 1024. Выучить теоретический материал. Алфавит СС – цифры, используемые для записи чисел. Получите верные равенства (разрешается переместить 1 палочку): VII – V = XI; IX – V = VI.
«Запись чисел в системах счисления» - В такой форме представляется содержимое любого файла. Римская система принципиально ненамного отличается от египетской. Десятичная система. Системы счисления. Более совершенными непозиционными системами счисления были алфавитные системы. Двоичная система. Используемые знаки для представления числа – цифры от 0 до 9.
«Системы счисления урок» - Как работает компьютер? Урок 7. Двоичная арифметика (16 сс). Урок 1. 2сс: 0, 1 8сс: 0, 1, 2, 3, 4, 5, 6, 7 10сс: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 16сс: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A , B, C, D, E, F. В какой системе счисления работает компьютер? Часы работают в двенадцатиричной СС. 111, 555. Компьютер работает в двоичной системе счисления.
Всего в теме 13 презентаций
Шестнадцатеричная система счисления (также — шестнадцатеричный код) является позиционной системой счисления с целочисленным основанием 16. Иногда в литературе также используется термин hex (произносится «хекс», сокращение от англ. hexadecimal). Цифрами данной системы счисления принято использовать арабские цифры 0—9, а также первые символы латинского алфавита A—F. Буквы соответствуют следующим десятичным значениями:
Таким образом, десять арабских цифр вкупе с шестью латинскими буквами и составляют шестнадцать цифр системы.
Кстати, на нашем сайте вы можете перевести любой текст в десятичный, шестнадцатеричный, двоичный код воспользовавшись Калькулятором кодов онлайн .
Применение . Шестнадцатеричный код широко применяется в низкоуровневом программировании, а также в различных компьютерных справочных документах. Популярность системы обоснована архитектурными решениями современных компьютеров: в них в качестве минимальной единицы информации установлен байт (состоящий из восьми бит) — а значение байта удобно записывать с помощью двух шестнадцатеричных цифр. Значение байта может ранжироваться с #00 до #FF (от 0 до 255 в десятичной записи) — другими словами, используя шестнадцатеричный код , можно записать любое состояние байта, при этом не остаётся «лишних» не используемых в записи цифр.
В кодировке Юникод для записи номера символа используется четыре шестнадцатеричных цифры. Запись цвета стандарта RGB (Red, Green, Blue — красный, зелёный, синий) также часто использует шестнадцатеричный код (например, #FF0000 — запись ярко-красного цвета).
Математический способ записи . В математической записи основание системы записывают в десятичном виде в нижнем индексе справа от числа. Десятичную запись числа 3032 можно записать как 3032 10 , в шестнадцатеричной системе данное число будет иметь запись BD8 16 .
В синтаксисе языков программирования . Синтаксис различных языков программирования по-разному устанавливает формат записи числа, использующего шестнадцатеричный код :
* В синтаксисе некоторых разновидностей языка ассемблера используется латинская буква «h», которая ставится справа от числа, например: 20Dh. Если число начинается с латинской буквы, то перед ним ставится ноль, например: 0A0Bh. Это сделано для того, чтобы отличать от констант значения, использующие шестнадцатеричный код ;
* В прочих разновидностях ассемблера, а также в Pascal (и его разновидностях, таких как Delphi) и некоторых диалектах Basic, применяют префикс «$»: $A15;
* В языке разметки HTML, а также в каскадных файлах CSS, для указания цвета в формате RGB с шестнадцатеричной системой записи, используется префикс «#»: #00DC00.
Перевод из шестнадцатеричной системы в десятичную. Для совершения операции перевода из шестнадцатеричной системы в десятичную, требуется представить исходное число как сумму произведений цифр в разрядах шестнадцатеричного числа на степень основания.
Двоичная СС |
шестнадцатеричная СС |
Например, требуется выполнить перевод шестнадцатеричного числа A14: в нём три цифры. Используя правило, запишем его в виде суммы степеней с основанием 16:
A14 16 = 10.16 2 + 1.16 1 + 4.16 0 = 10.256 + 1.16 + 4.1 = 2560 + 16 + 4 = 2580 10
Для перевода используется таблица тетрад. Чтобы выполнить перевод числа из двоичной в десятичную систему, необходимо произвести разбиение его на отдельные тетрады справа налево, после чего, используя таблицу, выполнить замену каждой тетрады на соответствующую шестнадцатеричную цифру. При этом, если количество цифр не кратно четырём, то необходимо добавить соответствующее количество нулей справа от числа, для того, чтобы общее число двоичных цифр стало кратно четырём.
Таблица тетрад для перевода.
Для перевода из шестнадцатеричной системы в двоичную, необходимо выполнить обратную операцию: выполнить замену каждой цифры на тетраду из таблицы.
Двоичная СС |
Восьмеричная СС |
Пример перевода из шестнадцатеричной системы в двоичную : A5E 16 = 1010 0101 1110 = 101001011110 2
Пример перевода из двоичной системы в шестнадцатеричную : 111100111 2 = 0001 1110 0111 = 1E7 16
В этом примере количество цифр в исходном двоичном числе не было равным четырём (9), поэтому были добавлены незначащие нули — общее число цифр стало 12.
Автоматический перевод . Быстрый перевод из шестнадцатеричной системы счисления в одну из трёх популярных систем (двоичную, восьмеричную и десятичную), как и обратный перевод, можно выполнить, используя стандартный калькулятор из комплекта поставки ОС Windows. Откройте калькулятор, выберите в меню Вид -> Программист. В данном режиме можно устанавливать систему счисления, используемую в данный момент (см. меню слева: Hex, Dec, Oct, Bin). При этом изменение текущей системы счисления автоматически производит перевод.
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней двойки:
Таблица 4. Степени числа 2
n (степень) |
|||||||||||
Пример.
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица 5. Степени числа 8
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 6. Степени числа 16
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в двоичную систему счисления.
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в восьмеричную систему счисления.
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в шестнадцатеричную систему счисления.