Тема №1 (на 2 пары) Системы счисления.
1.1 Основные понятия и определения.
Под системой счисления понимается способ представления любого числа с помощью некоторого алфавита символов, называемых цифрами.
Все системы счисления делятся на позиционные и непозиционные.
Непозиционными системами являются такие системы счисления, в которых каждый символ сохраняет свое значение независимо от места его положения в числе.
Примером непозиционной системы счисления является римская система. К недостаткам таких систем относятся наличие большого количества знаков и сложность выполнения арифметических операций.
Система счисления называется позиционной, если одна и та же цифра имеет различное значение, определяющееся позицией цифры в последовательности цифр, изображающей число. Это значение меняется в однозначной зависимости от позиции, занимаемой цифрой, по некоторому закону.
Примером позиционной системы счисления является десятичная система, используемая в повседневной жизни.
Количество p различных цифр, употребляемых в позиционной системе определяет название системы счисления и называется основанием системы счисления - "p".
В десятичной системе используются десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; эта система имеет основанием число десять.
Любое число N в позиционной системе счисления с основанием p может быть представлено в виде полинома от основания p:
N = anpn+an-1pn-1+ ... +a1p+a0+a-1p-1+a-2p-2+ ...
здесь N - число, aj - коэффициенты (цифры числа), p - основание системы счисления ( p>1).
Принято представлять числа в виде последовательности цифр:
N = anan-1 ... a1a0 . a-1a-2 ...
В этой последовательности точка отделяет целую часть числа от дробной (коэффициенты при положительных степенях, включая нуль, от коэффициентов при отрицательных степенях). Точка опускается, если нет отрицательных степеней (число целое).
В ЭВМ применяют позиционные системы счисления с недесятичным основанием: двоичную, восьмеричную, шестнадцатеричную.
В аппаратной основе ЭВМ лежат двухпозиционные элементы, которые могут находиться только в двух состояниях; одно из них обозначается 0, а другое - 1. Поэтому основной системой счисления применяемой в ЭВМ является двоичная система.
Двоичная система счисления. Используется две цифры: 0 и 1. В двоичной системе любое число может быть представлено в виде:
N = bnbn-1 ... b1b0 . b-1b-2 ...
где bj либо 0, либо 1.
Восьмеричная система счисления. Используется восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7. Употребляется в ЭВМ как вспомогательная для записи информации в сокращенном виде. Для представления одной цифры восьмеричной системы используется три двоичных разряда (триада) (Таблица 1).
Шестнадцатеричная система счисления. Для изображения чисел употребляются 16 цифр. Первые десять цифр этой системы обозначаются цифрами от 0 до 9, а старшие шесть цифр - латинскими буквами: 10-A, 11-B, 12-C, 13-D, 14-E, 15-F. Шестнадцатеричная система используется для записи информации в сокращенном виде. Для представления одной цифры шестнадцатеричной системы счисления используется четыре двоичных разряда (тетрада) (Таблица 1).
Таблица 1. Наиболее важные системы счисления.
Двоичная
(Основание 2)
|
Восьмеричная
(Основание 8)
|
Десятичная
(Основание 10)
|
Шестнадцатиричная
(Основание 16)
|
|
триады
|
|
тетрады
|
0
1
|
0
1
2
3
4
5
6
7
|
000
001
010
011
100
101
110
111
|
0
1
2
3
4
5
6
7
8
9
|
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
|
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
|
1.2 Перевод чисел из одной системы счисления в другую.
Перевод чисел в десятичную систему осуществляется путем составления степенного ряда с основанием той системы, из которой число переводится. Затем подсчитывается значение суммы.
Пример.
а) Перевести 10101101.1012"10" с.с.
Здесь и в дальнейшем при одновременном использовании нескольких различных систем счисления основание системы к которой относится число будем указывать в виде нижнего индекса.
10101101.1012 = 127+ 026+ 125+ 024+ 123+ 122+ 021+ 120+ 12-1+ 02-2+ 12-3 = 173.62510
б) Перевести 703.048"10" с.с.
703.048 = 782+ 081+ 380+ 08-1+ 48-2 = 451.062510
в) Перевести B2E.416"10" с.с.
B2E.416 = 11162+ 2161+ 14160+ 416-1 = 2862.2510
Перевод целых десятичных чисел в недесятичную систему счисления осуществляется последовательным делением десятичного числа на основание той системы, в которую оно переводится, до тех пор, пока не получится частное меньшее этого основания. Число в новой системе записывается в виде остатков деления, начиная с последнего.
Пример.
а) Перевести 18110"8" с.с.
Результат: 18110 = 2658
б) Перевести 62210"16" с.с.
Результат: 62210 = 26E16
Перевод правильных дробей из десятичной системы счисления в недесятичную.
Для перевода правильной десятичной дроби в другую систему эту дробь надо последовательно умножать на основание той системы, в которую она переводится. При этом умножаются только дробные части. Дробь в новой системе записывается в виде целых частей произведений, начиная с первого.
Пример.
Перевести 0.312510"8" с.с.
Результат: 0.312510 = 0.248
Замечание. Конечной десятичной дроби в другой системе счисления может соответствовать бесконечная (иногда периодическая) дробь. В этом случае количество знаков в представлении дроби в новой системе берется в зависимости от требуемой точности.
Пример.
Перевести 0.6510"2" с.с. Точность 6 знаков.
Результат: 0.6510 0.10(1001)2
Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную.
Пример.
Перевести 23.12510"2" с.с.
1) Переведем целую часть:
|
2) Переведем дробную часть:
|
|
|
Таким образом: 2310 = 101112; 0.12510 = 0.0012.
Результат: 23.12510 = 10111.0012.
Необходимо отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.
Для перевода восьмеричного или шестнадцатеричного числа в двоичную форму достаточно заменить каждую цифру этого числа соответствующим трехразрядным двоичным числом (триадой) (Таб. 1) или четырехразрядным двоичным числом (тетрадой) (Таб. 1), при этом отбрасывают ненужные нули в старших и младших разрядах.
Пример.
а) Перевести 305.48"2" с.с.
б) Перевести 7B2.E16"2" с.с.
Для перехода от двоичной к восьмеричной (шестнадцатеричной) системе поступают следующим образом: двигаясь от точки влево и вправо, разбивают двоичное число на группы по три (четыре) разряда, дополняя при необходимости нулями крайние левую и правую группы. Затем триаду (тетраду) заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой.
Пример.
а) Перевести 1101111001.11012"8" с.с.
б) Перевести 11111111011.1001112"16" с.с.
Перевод из восьмеричной в шестнадцатеричную систему и обратно осуществляется через двоичную систему с помощью триад и тетрад.
Пример. Перевести 175.248"16" с.с.
Результат: 175.248 = 7D.516.
1.3 Двоичная арифметика.
Правила выполнения арифметических действий над двоичными числами задаются таблицами двоичных сложения, вычитания и умножения.
Таблица двоичного сложения
|
Таблица двоичного вычитания
|
Таблица двоичного умножения
|
0+0=0
0+1=1
1+0=1
1+1=10
|
0-0=0
1-0=1
1-1=0
10-1=1
|
00=0
01=0
10=0
11=1
|
При сложении двоичных чисел в каждом разряде производится сложение цифр слагаемых и переноса из соседнего младшего разряда, если он имеется. При этом необходимо учитывать, что 1+1 дают нуль в данном разряде и единицу переноса в следующий.
Пример. Выполнить сложение двоичных чисел:
а) X=1101, Y=101;
Результат 1101+101=10010.
б) X=1101, Y=101, Z=111;
Результат 1101+101+111=11001.
При вычитании двоичных чисел в данном разряде при необходимости занимается 1 из старшего разряда. Эта занимаемая 1 равна двум 1 данного разряда.
Пример. Заданы двоичные числа X=10010 и Y=101. Вычислить X-Y.
Результат 10010 - 101=1101.
Умножение двоичных чисел производится по тем же правилам, что и для десятичных с помощью таблиц двоичного умножения и сложения.
Пример. 1001101=?
Результат 1001101=101101.
Деление двоичных чисел производится по тем же правилам, что и для десятичных. При этом используются таблицы двоичного умножения и вычитания.
Пример. 1100.011 : 10.01=?
Результат 1100.011 : 10.01=101.1.
Упражнения 1.
1. Перевести следующие числа в десятичную систему счисления:
а) 1101112; б) 10110111.10112; в) 563.448; г) 721.358; д) 1C4.A16; е) 9A2F.B52.
2. Перевести следующие числа из "10" с.с в "2", "8", "16" с.с.:
а) 463; б) 1209; в) 362; г) 3925; д) 11355.
3. Перевести следующие числа из "10" с.с в "2", "8", "16" с.с. (точность вычислений - 5 знаков после точки):
а) 0.0625; б) 0.345; в) 0.225; г) 0.725; д) 217.375; е) 31.2375; ж) 725.03125; з) 8846.04.
4. Перевести следующие числа в двоичную систему счисления:
а) 1725.3268; б) 341.348; в) 7BF.52A16; г) 3D2.C16.
5. Перевести следующие числа из одной системы счисления в другую:
а) 11011001.010112 "8" с.с.;
б) 1011110.11012 "8" с.с.;
в) 1101111101.01011012 "16" с.с.;
г) 110101000.1001012 "16" с.с.
6. Перевести следующие числа из одной системы счисления в другую:
а) 312.78 "16" с.с.; б) 51.438 "16" с.с.;
в) 5B.F16 "8" с.с.; г) D4.1916 "8" с.с.
7. Заданы двоичные числа X и Y. Вычислить X+Y и X-Y , если:
а) X=1101001; Y=101111;
б) X=101110110; Y=10111001;
в) X=100011001; Y=101011.
8. Заданы двоичные числа X и Y. Вычислить X*Y и X/Y , если:
а) X=1000010011; Y=1011;
б) X=110010101; Y=1001;
в) X=100101.011; Y=110.1;
г) X=100000.1101; Y=101.01.
|