АЛГОРИТМЫ ПЕРЕВОДА ЦЕЛЫХ ЧИСЕЛ
из Р-ричной системы счисления в Q -ричную
ЕАДК. Преподаватель информатики: Неверова И.Ю.
ПЛАН урока:
- Перевод целого десятичного числа в систему с основанием q .
- Решение задач. Кроссворд.
- Перевод целого двоичного числа в систему с основанием q =2 n .
- Решение задач. Выполнение индивидуальных заданий.
- Домашнее задание.
Литература:
Е.А. Колмыкова. Информатика, с. 32.
Перевод в десятичную систему счисления
Двоичная система счисления, q =2
Восьмеричная система счисления, q =8
Шестнадцатеричная система счисления, q =16
I . Перевод целого десятичного числа в систему с основанием q
- При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный q–1 .
- Число в системе с основанием q записывается как последовательность остатков от деления, записанных в обратном порядке, начиная с последнего частного.
- q = 2 ; 8; 16.
Перевод целых чисел
Двоичная система: Алфавит: 0, 1 Основание (количество цифр): 2 q=2
10 2
2
19
19 10 = 10011 2
18
2
9
8
1
4
2
система счисления
4
1
2
2
2
0
1
2
0
0
0
2 10
1
4 3 2 1 0
разряды
= 1 · 2 4 + 0 · 2 3 + 0 · 2 2 + 1 · 2 1 + 1 · 2 0
= 16 + 2 + 1 = 19
10011 2
Восьмеричная система
Основание (количество цифр): 8 q=8
Алфавит: 0, 1 , 2 , 3, 4, 5, 6, 7
10 8
100
8
100 = 144 8
96
8
12
8
4
1
8
0
система счисления
4
0
1
8 10
2 1 0
разряды
= 1 · 8 2 + 4 · 8 1 + 4 · 8 0
= 64 + 32 + 4 = 100
144 8
Шестнадцатеричная система
Основание (количество цифр): 16 q=16
Алфавит: 0, 1 , 2 , 3, 4, 5, 6, 7, 8, 9,
B , 11
A , 10
D , 13
E , 14
C , 12
F 15
1 0 16
10 7
16
96
10 7 = 6B 16
6
16
0
11
0
B
система счисления
6
16 10
разряды
B
1 0
6B 16
= 6 ·16 1 + 11 ·16 0 = 96 + 11 = 107
Перевод целого десятичного числа в систему с основанием q
Пример: Перевести число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
B
Ответ: 75 10 = 1 001 011 2 = 113 8 = 4B 16 .
Решение задач по переводу целого десятичного числа в систему с основанием q
Задача 1. Перевести число 523 из десятичной системы счисления в двоичную.
Ответ: 1000001011 2
Задача 2. Перевести число 856 из десятичной системы счисления в восьмеричную.
Ответ: 1530 8
Задача 3. Перевести число 5012 из десятичной системы счисления в шестнадцатеричную.
Ответ: 1394 16
Кроссворд
У вас имеется сетка 20 Х 15.
В верхней части каждого столбца записано десятичное число (число читается сверху вниз), например, в 1-м столбце записано число 249.
Необходимо :
- десятичное число перевести в двоичную систему счисления;
- разместить получившееся двоичное число снизу вверх в соответствующем столбце, расположив младшую цифру в нижнюю клетку;
- заштриховать или закрасить клеточки, в которых стоят единицы.
Образец решения:
Решение кроссворда
В результате выполнения задания должно получиться следующее:
Перевод целого двоичного числа в систему с основанием q =2 n
Для того, чтобы целое двоичное число записать в системе счисления с основанием q =2 n , необходимо:
1 ) данное двоичное число разбить справа налево на группы по n цифр в каждой;
2) если в последней левой группе окажется меньше n разрядов, то ее надо дополнить слева нулями до нужного числа разрядов;
3) рассмотреть каждую группу как n -разрядное двоичное число и записать его соответствующей цифрой в нужной системе счисления, воспользовавшись таблицей систем счисления.
Перевод целого двоичного числа в систему с основанием q =2 n
- q = 2 = 2 1
- q = 8 = 2 3
- q = 10 ≈ 2 3
- q = 16 = 2 4
Перевод десятичных чисел в двоичные
десятичная
двоичная
0
1
10
11
100
101
110
111
1000
1001
1010
Таблица систем счисления
десятичная
двоичная
0
восьмеричная
0
1
2
шестнадцатеричная
0
1
3
10
0
1
1
2
11
4
2
3
100
5
3
4
6
101
4
110
7
5
5
6
111
7
6
7
8
1000
9
10
10
1001
11
8
11
1010
12
1011
9
12
13
1100
А
13
B
14
14
1101
C
15
1110
15
1111
16
D
E
17
F
{
{
{
{
Перевод в двоичную систему
10
2
8
8 = 2 3
!
Каждая восьмеричная цифра может быть записана как три двоичных ( триада )!
1725 8 =
101 2
0 10
111
00 1
1 7 2 5
18
18
Обратный перевод в восьмеричную систему
1001011101111 2
Шаг 1. Разбить на триады, начиная справа:
00 1 001 011 101 111 2
Шаг 2. Каждую триаду записать одной восьмеричной цифрой:
00 1 001 011 101 111 2
1
3
7
5
1
Ответ: 1001011101111 2 = 11357 8
18
18
18
{
{
{
{
Перевод в двоичную систему
10
16
2
16 = 2 4
!
Каждая шестнадцатеричная цифра может быть записана как четыре двоичных ( тетрада )!
7 F1A 16 =
1 1 11
0 00 1
1010 2
0 1 11
7 F 1 A
18
20
20
Обратный перевод в шестнадцатеричную систему
1001011101111 2
Шаг 1. Разбить на тетрады, начиная справа:
000 1 0010 1110 1111 2
Шаг 2. Каждую тетраду записать одной шестнадцатеричной цифрой:
000 1 0010 1110 1111 2
1
2
E
F
Ответ: 1001011101111 2 = 12 EF 16
20
20
20
Перевод в восьмеричную и обратно
трудоемко
10
16
8
2
Шаг 1. Перевести в двоичную систему:
3 DEA 16 =
11 1101 1110 1010 2
Шаг 2 . Разбить на триады:
0 11 110 111 101 010 2
Шаг 3. Триада – одна восьмеричная цифра:
3 DEA 16 = 0 11 110 111 101 010 2 = 36752 8
20
20
20
Решение задач
Пример : Перевести двоичное число 110111101011101111 в шестнадцатеричную систему.
Решение: Разделим данное число на группы по четыре цифры (тетрады), начиная справа. Так как в крайней левой группе меньше четырех цифр, дополним ее нулями 00 11 0111 1010 1110 1111
А теперь глядя на двоично-шестнадцатеричную таблицу, заменим каждую цифру на соответствующую шестнадцатеричную цифру.
Ответ : 110111101011101111 2 = 37АЕ F 16 .
20
Решение задач
Задача 1. Перевести двоичное число 1 010 101 в восьмеричную систему счисления.
Ответ: 125 8
Задача 2. Перевести двоичное число 110 1101 0001 в шестнадцатеричную систему счисления.
Ответ: 6 D 1 16
Задача 3. Переведите в десятичную систему двоичные числа:
А) 1 000 011 110 101
Б) 1 010 010 111 011
Ответ: А) 10365 10 ; Б) 12273 10
20
Решение задач
Задача 4. Перевести шестнадцатеричные числа в двоичную систему счисления: 1АС7; FACC . Примечание: Каждой шестнадцатеричной цифре соответствует четверка двоичных цифр.
Ответ: 000 1 1010 1100 0 111; 1111 1010 1100 1100.
Задача 5. Перевести шестнадцатеричные числа в восьмеричную систему счисления: А45; 54В. Примечание: Сначала нужно перевести в двоичную систему, а потом уже в восьмеричную.
Ответ: 1010 0100 0101 = 101 001 000 101 = 5105 8 ; 0 101 0 100 1011 = 0 10 101 001 011 = 2513 8 .
Задача 6 . Перевести восьмеричные числа в шестнадцатеричную систему счисления: 774; 665. Примечание: Сначала нужно перевести в двоичную систему, а потом уже в шестнадцатеричную .
Ответ: 111 111 100 = 000 1 1111 1100 = 1 FC 16 , 110 110 101 = 000 1 1011 0 101 = 1B5 16 .
Самостоятельная работа. Перевод целых чисел по таблице систем счисления Перевести координаты в десятичную систему счисления. Получить рисунок, соединив последовательно все точки.
ДОМАШНЕЕ ЗАДАНИЕ
Перевод целого десятичного числа в систему с основанием q .
1. Перевести число 365 из десятичной системы счисления в шестнадцатеричную, восьмеричную и двоичную систему счисления.
Перевод целого двоичного числа в систему с основанием q =2 n .
2. Двоичное число 1110100 переведите в десятичную, шестнадцатеричную и восьмеричную систему счисления.
3. Перевести число 15АВ из шестнадцатеричной в восьмеричную систему счисления.
4. Перевести число 452 из восьмеричной в шестнадцатеричную систему счисления.