
- •Основные понятия и методы теории информации и кодирования
- •Формы, свойства, показатели качества информации
- •Меры и единицы представления, измерения и хранения информации
- •Системы счисления
- •Перевод чисел из одной системы счисления в другую Перевод целых чисел из двоичной системы счисления в восьмеричную (шестнадцатеричную) и обратно
- •Арифметические операции в системах счисления
- •Кодирование данных в эвм
- •Коды чисел
- •Арифметические операции сложения и вычитания в обратном коде
- •Арифметические операции сложения и вычитания в дополнительном коде
- •Вопросы для самоконтроля
Системы счисления
Информация в ЭВМ хранится и отрабатывается в определенном, закодированном виде. ЭВМ оперируется числами, представленными в некоторой системе счисления.
Системой счисления называется способ записи чисел с помощью заданного набора специальных знаков (цифр).
Системы счисления принято делить на:
Позиционные.
Непозиционные.
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число.
Пример: в числе 555 первая пятерка означает пять сотен, вторая – 5 десятков, а третья 5 единиц.
В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа.
Пример: Римская система счисления. Число ХХI (двадцать один) вес цифры Х в любой позиции равен просто десяти.
Любая позиционная система счисления характеризуется основанием – количеством различных знаков или символов, используемых для изображения чисел в данной системе.
За основание системы можно принять любое натуральное число. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием g означает сокращенную запись выражения
(1.4)
где, ai – цифры системы счисления;
n и m – число целых и дробных разрядов, соответственно.
Любая позиционная система счисления должно удовлетворять условию a<g.
Наибольшее распространение для представления чисел в ЭВМ, получили двоичная, восьмеричная и шестнадцатеричная системы счисления.
Двоичная система счисления – в этой системе счисления для представления числа применяются две цифры – 0 и 1.
Восьмеричная система счисления – в этой системе счисления для представления числа применяются цифры – от 0 до 7.
Шестнадцатеричная система счисления – для представления числа используются цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.
Перевод чисел из одной системы счисления в другую Перевод целых чисел из двоичной системы счисления в восьмеричную (шестнадцатеричную) и обратно
Так как основания восьмеричной и шестнадцатеричной систем счисления являются степенями двойки, то перевод чисел из этих систем счисления в двоичную и наоборот основан на методах триад и тетрад.
Перевод целых чисел из двоичной системы счисления в восьмеричную систему счисления
Таблица 1
Система представления чисел в 2-ой и 8-ой системах счисления
Двоичная |
Восьмеричная |
000 |
0 |
001 |
1 |
010 |
2 |
011 |
3 |
100 |
4 |
101 |
5 |
110 |
6 |
111 |
7 |
При переводе из 2-ой системы счисления в 8-ую необходимо число разбить по три цифры (справа налево).
Пример_5: Перевести число 11011(2) в 8-ую систему счисления.
1. Разбиваем число 11011(2) на триады: 11 011(2)
2. При необходимости следует добавить слева нули, чтобы получилась длина строки кратная 3: 011 011(2).
3. Из таблицы 1 выписать для каждой триады соответствующую цифру в восьмеричной системе счисления: 33(8).
Пример_6: Перевести число 1010(2) в 8-ую систему счисления.
1. Разбиваем число 1010(2) на триады: 1 010(2)
2. При необходимости следует добавить слева нули, чтобы получилась длина строки кратная 3: 001 010(2).
3. Из таблицы 1 выписать для каждой триады соответствующую цифру в восьмеричной системе счисления: 12(8).
Пример_7: Перевести число 11001111(2) в 8-ую систему счисления.
1. Разбиваем число 11001111(2) на триады: 11 001 111(2)
2. При необходимости следует добавить слева нули, чтобы получилась длина строки кратная 3: 011 001 111(2).
3. Из таблицы 1 выписать для каждой триады соответствующую цифру в восьмеричной системе счисления: 317(8).
Перевод целых чисел из двоичной системы счисления в шестнадцатеричную систему счисления
Таблица 2
Система представления чисел в 2-ой и 16-ой системах счисления
Двоичная |
Шестнадцатеричная |
0000 |
0 |
0001 |
1 |
0010 |
2 |
0011 |
3 |
0100 |
4 |
0101 |
5 |
0110 |
6 |
0111 |
7 |
1000 |
8 |
1001 |
9 |
1010 |
А (10) |
1011 |
B (11) |
1100 |
C (12) |
1101 |
D (13) |
1110 |
E (14) |
1111 |
F (15) |
При переводе из 2-ой системы счисления в 16-ую необходимо число разбить по четыре цифры (справа налево).
Пример_8: Перевести число 11011(2) в 16-ую систему счисления.
1. Разбиваем число 11011(2) на тетрады: 1 1011(2)
2. При необходимости следует добавить слева нули, чтобы получилась длина строки кратная 4: 0001 1011(2).
3. Из таблицы 2 выписать для каждой тетрады соответствующую цифру в 16-ой системе счисления: 1B(16).
Пример_9: Перевести число 10110(2) в 16-ую систему счисления.
1. Разбиваем число 10110(2) на тетрады: 1 0110(2)
2. При необходимости следует добавить слева нули, чтобы получилась длина строки кратная 4: 0001 0110(2).
3. Из таблицы 2 выписать для каждой тетрады соответствующую цифру в 16-ой системе счисления: 16(16).
Пример_10: Перевести число 11001111(2) в 16-ую систему счисления.
1. Разбиваем число 110011111(2) на тетрады: 1 1001 1111(2)
2. При необходимости следует добавить слева нули, чтобы получилась длина строки кратная 4: 0001 1001 1111 (2).
3. Из таблицы 2 выписать для каждой триады соответствующую цифру в восьмеричной системе счисления: 19F(16).
Перевод целых чисел из восьмеричной системы счисления в двоичную систему счисления
При переводе из 8-ой системы счисления в 2-ую необходимо для каждой цифры числа из таблицы 1 выписать соответствующую триаду (слева направо).
Пример_11: Перевести число 147(8) в 2-ую систему счисления.
1. Для цифры 1 – 001, для 4 – 100, для 7 – 111.
2. Соединяем триады: 147(8)=001 100 111(2).
3. Нули слева можно отбросить: 1100111(2).
Перевод целых чисел из шестнадцатеричной системы счисления в двоичную систему счисления
При переводе из 16-ой системы счисления в 2-ую, необходимо для каждой цифры числа из таблицы 2 выписать соответствующую тетраду (слева направо).
Пример_12: Перевести число А11(16) в 2-ую систему счисления.
1. Для цифры А – 1010, для 1 – 0001.
2. Соединяем тетрады: А11(16)=1010 0001 0001(2).
Перевод целых чисел из шестнадцатеричной системы счисления в восьмеричную систему счисления и обратно
При перевод 8-го числа в 16-ое (или обратно), необходимо перевести число из восьмеричной (шестнадцатеричной) системы счисления в двоичную, а затем в шестнадцатеричную (восьмеричную) систему счисления.
Пример_13: Перевести число 147(8) в 16-ую систему счисления.
1. Для цифры 1 – 001, для 4 – 100, для 7 – 111.
2. Соединяем триады: 147(8)= 001 100 111(2).
3. Нули слева можно отбросить: 1100111(2).
4. Разбиваем число 1100111(2) на тетрады: 110 0111(2)
5. При необходимости следует добавить слева нули, чтобы получилась длина строки кратная 4: 0110 0111(2).
6. Из таблицы 2 выписать для каждой тетрады соответствующую цифру в 16-ой системе счисления: 67(16).
Пример_14: Перевести число А11(16) в 8-ую систему счисления.
1. Для цифры А – 1010, для 1 – 0001.
2. Соединяем тетрады: А11(16)= 1010 0001 0001(2).
3. Разбиваем число 101000010001(2) на триады: 101 000 010 001(2)
4. Из таблицы 1 выписать для каждой триады соответствующую цифру в восьмеричной системе счисления: 5021(8).
Перевод целых чисел из любой системы счисления в десятичную
Пример_15: Дано число 11012. Необходимо перевести число 11012 из двоичной системы счисления в десятичную систему счисления.
Решение:
1. Для перевода числа из любой системы счисления в десятичную, необходимо разложить это число по степеням основания этой системы:
1101(2) = 13120110(2)
2. Каждую цифру числа умножить на основание этого числа, возведенное в соответствующую степень:
13120110(2)=1*23+1*22+0*21+1*20=8+4+0+1=13(10)
3. Число 11012=13(10)
Примечание: При переводе важно помнить, что любое число в нулевой степени равно 1.
Пример_16: Дано число 134. Необходимо перевести число 134 из четверичной системы счисления в десятичную систему счисления.
Решение:
1. Для перевода числа из любой системы счисления в десятичную, необходимо разложить это число по степеням основания этой системы:
13(4) = 1130(4)
2. Каждую цифру числа умножить на основание этого числа, возведенное в соответствующую степень:
1130(4)=1*41+3*40=4+3=7(10)
3. Число 13(4)=7(10)
Перевод действительных (вещественных) чисел из любой системы счисления в десятичную
Пример_17: Дано число 101.112. Необходимо перевести число 101.112 из двоичной системы счисления в десятичную систему счисления.
Решение:
1. Перевод действительного числа из любой системы счисления в десятичную, осуществляется по тем же правилам, что и перевод целого числа.
101.11(2) = 120110.1-11-2(2)
2. Каждую цифру числа умножить на основание этого числа, возведенное в соответствующую степень:
120110.1-11-2(2)=1*22+0*21+1*20+1*2-1+1*2-2=4+0+1+1/2+1/4=5.75(10)
Перевод целых чисел из десятичной системы счисления в любую другую
Пример_18: Дано число 1310. Необходимо перевести число 1310 из десятичной системы счисления в двоичную систему счисления.
Решение:
1. Для перевода чисел из десятичной системы счисления в любую другую, необходимо делить десятичное число на основание системы, в которую переводят, сохраняя при этом остатки от каждого деления. Деление продолжается до тех пор, пока результат деления не станет меньше делителя.
13/2=6 (остаток 1), т.к. частное 6 больше делителя 2, то продолжаем делить частное 6 на 2.
6/2=3 (остаток 0), т.к. частное 3 больше делителя 2, то продолжаем делить частное 3 на 2.
3/2=1 (остаток 1), т.к. частное 1 меньше делителя 2, то записываем полученное число.
13(10) = 1101(2).
2. Результат формируем справа налево. (При формировании числа используют остатки при делении).
1101(2).
Пример_19: Дано число 710. Необходимо перевести число 710 из десятичной системы счисления в четверичную систему счисления.
Решение:
1. Для перевода чисел из десятичной системы счисления в любую другую, необходимо делить десятичное число на основание системы, в которую переводят, сохраняя при этом остатки от каждого деления. Деление продолжается до тех пор, пока результат деления не станет меньше делителя.
7/4=1 (остаток 3), т.к. частное 1 меньше делителя 4, то записываем полученное число.
7(10) = 13(4).
2. Результат формируем справа налево. (При формировании числа используют остатки при делении).
13(4).
Перевод действительных (вещественных) чисел из десятичной системы счисления в любую другую
Пример_20: Дано число 5.7510. Необходимо перевести число 5.7510 из десятичной системы счисления в двоичную систему счисления.
Решение:
Перевод действительного числа из десятичной системы счисления в любую другую, осуществляется по следующему алгоритму:
1. Целая часть действительного числа преобразуется как для целого числа.
5(10)=101(2)
2. Теперь переводим дробную часть числа.
Для этого умножаем дробную часть числа на 2, если целая часть полученного числа – четная (0 – четное число), то записываем 0 в дробной части действительного числа, если – нечетная, то записываем 1. Умножения повторяются до тех пор, пока число не станет целым.
0,75*2=1,5 – записываем 1 в дробной части числа 101.1(2)
1,5*2=3 – записываем 1 в дробной части числа 101.11(2)