
- •Центральный филиал
- •Тема 4.2: «Общие сведения о системах счисления».
- •Содержание занятия и методика его проведения
- •Тема 4.2. Общие сведения о системах счисления
- •4.2.1. Понятие системы счисления
- •4.2.2. Перевод чисел из одной системы счисления в другую
- •Задания и порядок их выполнения
- •Контрольные вопросы
4.2.2. Перевод чисел из одной системы счисления в другую
При переводе чисел из любой системы счисления в десятичную достаточно записать число по общей формуле (по степеням основания исходной системы счисления) и подсчитать значение многочлена:
Разряды 3 2 1 0 1
Число 1 0 1 1, 1(2) = 123 + 022 + 021 + 120 + 02–1 = 11,5(10).
Разряды 2 1 0 1
Число 2 7 6, 5(8) = 182 + 781 + 620 + 58–1 = 190,625(10).
Разряды 2 1 0
Число 1 F 3(16) = 1162 + 15161 +3160 = 499(10).
Перевод десятичного числа в любую систему счисления производится отдельно для целой и дробной его частей.
Для перевода целой части десятичного числа в любую систему счисления необходимо делить десятичное число на основание новой системы нацело (с остатком), полученное частное снова делить и так продолжать деление до тех пор, пока последнее частное не окажется меньше основания новой системы счисления. Целая часть числа в новой системе счисления запишется из получившихся при делении остатков, взятых в порядке, обратном их получению.
Схема алгоритма перевода целой части десятичного числа А в произвольную систему счисления с основанием р приведена на рис. 4.8. К расширенному понятию «алгоритм» мы обратимся в следующей теме курса, а пока дадим его определение с позиций теории множеств.
Алгоритмом называется двусортное множество
,
где
– множество правил (процедур) решения
задачи, обладающих следующими свойствами:
массовости (инвариантности относительно входных данных);
детерминированности (однозначности применения этих правил на каждом шагу);
результативности (получения после применения этих правил искомого результата);
элементарности (прозрачности) (отсутствия необходимости дальнейшего уточнения правил);
– бинарное отношение в множестве
(
,
,
если после процедуры
выполняется процедура
.
Рис. 4.8. Алгоритм перевода целой части десятичных чисел
Пример. Переведём число 27 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы:
Результат перевода: 27(10) = 11011(2) = 33(8) = 1B(16). ▲
Перевод дробной части десятичного числа часто можно выполнить не точно, а с некоторой погрешностью. При этом надо определить необходимую точность (погрешность) перевода (задать количество значащих цифр после запятой).
Для перевода дробной части десятичного числа в любую систему счисления (рис. 4.9) необходимо умножить десятичное число А на основание новой системы р, полученную дробную часть снова умножить и так до тех пор, пока не получится требуемое количество К значащих цифр после запятой в числе в новой системе счисления.
Рис. 4.9. Алгоритм перевода дробной части десятичных чисел
Пример. Переведём с точностью до 3 знаков после запятой число 0,35 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы:
Результат перевода: 0,35(10) = 0,010(2) = 0,263(8) = 0,599(16). ▲
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему счисления достаточно прост.
Изображения целых чисел в восьмеричной и шестнадцатеричной системах счисления вместе с их двоичным и десятичными эквивалентами представлены в табл. 4.1.
Таблица 4.1
Количественные эквиваленты чисел в системах счисления
Основание системы счисления |
Основание системы счисления |
||||||
10 |
2 |
8 |
16 |
10 |
2 |
8 |
16 |
0 1 2 3 4 5 6 7 8 9 10 |
0 1 10 11 100 101 110 111 1000 1001 1010 |
0 1 2 3 4 5 6 7 10 11 12 |
0 1 2 3 4 5 6 7 8 9 А |
11 12 13 14 15 16 17 18 19 26 31 |
1011 1100 1101 1110 1111 10000 10001 10010 10011 10100 11111 |
13 14 15 16 17 20 21 22 23 32 37 |
В С D Е F 10 11 12 13 1А 1F |
Для перевода восьмеричного (шестнадцатеричного) числа в двоичную систему достаточно каждую восьмеричную (шестнадцатеричную) цифру заменить тремя (четырьмя) двоичными цифрами:
537,1(8) = 101 011 111, 001(2); 1А3,F(16) = 1 1010 0011, 1111(2).
5
3 7 1 1 A 3
F
Для перевода двоичного числа в восьмеричную (шестнадцатеричную) систему счисления необходимо разделить двоичное число слева и справа от запятой на группы из трёх (четырёх) цифр и каждую группу заменить восьмеричной (шестнадцатеричной) цифрой. Если в крайних группах окажется меньше трёх (четырёх) цифр, то можно спереди целой части и позади дробной части числа, дописать необходимое количество нулей (эта операция не меняет значения исходного двоичного числа):
10101001,10111(2) = 010 101 001, 101 110(2) = 251,56(8);
2
5 1 , 5 6
10101001,10111(2) = 1010 1001, 1011 1000(2) = А9,В8(16).
А 9 , В 8