
методические указания для выполнения контрольных работ / системы счисления
.docМинистерство общего и профессионального образования
Российской Федерации
Саратовский государственный технический университет
Методические указания к выполнению
Контрольной работы №1 по курсу “Информатика”
для студентов специальности ЭУМ заочной формы обучения
Саратов 2000
Цель работы: ознакомление с назначением и принципом записи чисел в различных системах счисления; освоить методику перевода чисел из одной СС в другую; изучить правила выполнения арифметических действий над двоичными числами; освоить методику выполнения арифметических операций над числами.
Существующие типы систем исчисления
Любая вычислительная машина может быть представлена как машина, реализующая различные алгоритмы путем выполнения арифметических операций над числами, представленными в той или иной системе исчисления, в заданных форматах и с использованием специальных машинных кодов.
Под системой исчисления понимается способ представления любого числа по средствам некоторого алфавита символов, называемых цифрами существует два типа систем исчисления:
-
позиционные, обладающие преимуществом в наглядности представлении чисел и в простоте выполнения арифметических операций (пример: десятичная система исчисления).
-
Непозиционные, имеющие очень сложный способ записи чисел и громоздкие правила выполнения арифметических операций (пример: римская система исчисления).
В общем случае в позиционных системах с основанием R любое число может быть представлено в виде полинома от основания R:
anan-1...a0,b1b2...bm=anRn+an-1Rn-1+ ....+b1R-1+b2R-2+bmR-m– полином Горнера
где an,an-1,a0 –целая часть числа;
b1,b2...bm –дробная часть числа.
Запятая отделяет целую часть числа от дробной и опускается, если нет дробной части. Позиции цифр, отсчитываемые от запятой, называют разрядами. В позиционной системе счисления значения каждого разряда больше значения сосоеднего справа разряда в число раз, равное основанию R системы.
Пример в десятичной системе исчисления число 6097,108 может быть представлено в виде:
6097,108=6103+0102+9101+7100+110-1+010-2+810-3
В ЭВМ применяют наряду с десятичной системой счисления (подготовка исходных данных, выдача результатов вычисления) двоичную систему (работа простых элементов машины), шестнадцатеричную и восьмеричную (запись программ) и некоторые другие.
Наибольшее распространение в ЭВМ двоичная система исчисления, для записи чисел, в которой используется два числа 0 (нуль) и 1 (единица)
Пример двоичное число представленное в виде полинома (10101101,101)2=127+026+125+024+123+122+021+120+12-1+02-2+12-3
Соответствует десятичному числу (173,625)10
Применение двоичной системы позволяет уменьшить общее количество аппаратуры и создает большие удобства для проектирование ЦВМ, т. к. Для представления в машине разряда двоичного числа может быть использован любой простой элемент имеющий только два устойчивых состояния. Такими элементами являются реле, триггерные схемы и т. д. Для представления десятичного разряда потребовалось четыре таких элемента.
Для записи чисел в восьмеричной системе (R=8) используется восемь цифр: 0,1,2,3,4,5,6,7. В шестнадцатеричной системе (R=16) Для записи чисел используется 16 цифр: 0от 0 до 15, при этом, чтобы не изображать одну цифру двумя знаками, вводят специальное обозначение математическими буквами:
Десять – А, одиннадцать – В, двенадцать - С, тринадцать –D, четырнадцать - E, пятнадцать – F.
Перевод чисел из системы исчисления в другую автоматически устройством машины. Однако при составлении программы решения задачи у оператора может возникнуть необходимость ручного перевода отдельных чисел из одной системы исчисления в другую.
Правила перевода чисел из одной системы счисления в другую
Перевод целых чисел из десятичной СС в любую другую СС производиться методом последовательного деления на основание новой системы до тех пор, пока частное от деления не будет меньше основания новой СС . Число в новой СС записывается в виде остатков от деления, начиная с последнего частного, справа налево.
Примеры 3610=1001002 3610=448 3610=2416
36 |
2 |
|
|
|
|
|
|
36 |
8 |
|
|
|
|
36 |
16 |
|
0 |
18 |
2 |
|
|
|
|
|
4 |
4 |
|
|
|
|
4 |
4 |
|
|
0 |
9 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
4 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
Перевод дробной части десятичного числа производиться путем последовательного умножения на основание новой системы до тех пор, пока дробная часть не станет равной нулю. Для некоторых чисел такое условие не выполняется и количество цифр после запятой определяется требуемой точностью. Дробь в новой системе исчисления записывается в виде целых частей полученных произведений, начиная с первого числа
Пример 0,26=0,012
-
0,
26
2
0,
52
2
1,
04
2
0,
08
2
2,
16
Перевод десятичной дроби производиться в два этапа: сначала переводиться целая часть числа, затем дробная
25,11510=11001,00012
25 |
2 |
|
|
|
|
|
|
0 |
115 |
|
|
|
1 |
12 |
2 |
|
|
|
|
|
|
2 |
|
|
|
|
0 |
6 |
2 |
|
|
|
|
0 |
230 |
|
|
|
|
|
0 |
3 |
2 |
|
|
|
|
2 |
|
|
|
|
|
|
1 |
1 |
|
|
|
0 |
460 |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
0 |
920 |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
2510=110012 |
|
|
|
1 |
840 |
|
|
|
0,11510=0,00012
Обратный перевод из какой-либо позиционной СС в десятичную осуществляется составлением полинома Гарнера с основанием данной системы с последующим вычислением его значения.
Пример, 11001,0012=124+123+022+021+120+02-1+02-2+12-3=25,12510
Для перевода чисел из двоичной системы в восьмеричную( или шестнадцатеричную) СС поступают следующим образом:
Двигаясь от запятой в лево и в право, разбивают двоичное число на группы по три (или четыре) разряда, дополняя при необходимости нулями крайние левую и правую группы, Затем каждую из групп по три (по четыре) разряда заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой. (см. табл. 1)
Пример
(1101111001,1101)2=
001 |
101 |
111 |
001, |
110 |
100 |
=(1571,64)8 |
1 |
5 |
7 |
1, |
6 |
4 |
0011 |
0111 |
1001, |
1101 |
=(379,D)16 |
3 |
7 |
9, |
D |
Для перевода восьмеричного числа в двоичную форму каждую цифру этого числа заменяют соответствующим трехразрядным двоичным числом. Таким же образом для перевода от шестнадцатеричной системы к двоичной каждую цифра шестнадцатеричного числа заменяется соответствующим четырехразрядным двоичным числом. Ненужные нули отбрасываются.
Пример (305,4)8=(11000101,1)2
3 |
0 |
5, |
4 |
|
011 |
000 |
101, |
100 |
=(11000101,1)2 |
(305,4)16=(1100000101,01)2
3 |
0 |
5, |
4 |
|
0011 |
0000 |
0101, |
0100 |
=(1100000101,01)2 |
7 |
B |
2, |
E |
|
0111 |
1011 |
0010, |
1110 |
=(111110110010,111)2 |
Двоичная арифметика
Двоичная система и двоичный алфавит используется во многих ЦВМ для представления и хранения чисел и команд, и при выполнении арифметических и логических операций.
Правила выполнения арифметических действий над двоичными числами таблицами двоичного сложения, вычитания, умножения
Таблица двоичного сложения |
|
Таблица двоичного вычитания |
|
Таблица двоичного умножения |
0+0=0 |
|
0-0=0 |
|
00=0 |
0+1=1 |
|
1-0=1 |
|
01=0 |
1+0=1 |
|
1-1=0 |
|
10=0 |
1+1=0+еденица переноса в старший разряд |
|
10-1=1 |
|
11=1 |
Правила арифметики во всех позиционных системах аналогичны. Поэтому сложение двух чисел в двоичной системе можно выполнить столбиком начиная с младшего разряда. В результате цифра соответствующего разряда суммы и, возможно, также единица переноса в старший разряд.
Пример,
+ |
1 |
1 |
0 |
1 |
1 |
1, |
0 |
1 |
|
1 |
0 |
0 |
1 |
1, |
1 |
0 |
|
1 |
0 |
0 |
1 |
0 |
1 |
0, |
1 |
1 |
При вычитании чисел в данном разряде двоичной системы при необходимости занимается единица из следующего старшего разряда. Эта занимаемая единица равна двум единицам данного разряда.
- |
1 |
1 |
0 |
1 |
1, |
1 |
0 |
|
1 |
1 |
0 |
1, |
0 |
1 |
|
|
|
1 |
1 |
1 |
0, |
0 |
1 |
Умножение двух многоразрядных чисел производиться путем образования частных произведений и последующего их суммирования. В соответствии с таблицей двоичного умножения каждое частное произведение равно нулю, если в соответствующем разряде множителя стоит нуль, или равно множимому, сдвинутому на соответствующее число разрядов влево, если в разряде множителя стоит единица. Операция умножения многоразрядных двоичных чисел сводиться к операциям сдвигам и сложениям, Положение запятой определяется также, как при умножении десятичных чисел.
1011,1101,01=111100,0011
|
|
|
|
|
1 |
0 |
1 |
1 |
1 |
|
|
|
|
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
1 |
0 |
1 |
1 |
1 |
|
|
|
|
0 |
0 |
0 |
0 |
0 |
|
|
|
|
1 |
0 |
1 |
1 |
1 |
|
|
|
|
0 |
0 |
0 |
0 |
0 |
|
|
|
|
1 |
0 |
1 |
1 |
1 |
|
|
|
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
Деление чисел в двоичной системе производится аналогично делению десятичных чисел. Делимое и делитель приводят к виду целых двоичных чисел путем переноса запятой в делителе и делимом на одинаковое число разрядов и дописывание нулей в недостающие справа разряды
Пример, 1100,011:10,01=101,1
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
|
|
|
1 |
0 |
1, |
1 |
|
|
0 |
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
Прямой обратный и дополнительный коды
При проектировании вычислительных устройств необходимо решить вопрос о способах представления в машине положительных и отрицательных чисел и о признаке переполнения разрядной сетки. Данный вопрос решается применением специальных кодов позволяющий все арифметические операции свести к сложению и сдвигу вправо или влево. Во всех этих кодах используется старший разряд для представления знака числа. Знак «плюс» кодируется цифрой нуль, а знак «минус» - цифрой единица. В прямом коде число хранится в виде абсолютной величины и кода знака числа.
Пример, а=+1101 а=-1101
апр=0.0001101 апр=1.0001101
восьмиразрядная сетка
В обратном коде запись положительных чисел не изменяется. Для записи отрицательных чисел в обратном коде записывают еденицу в знаковый разряд и выполняют инверсию цифровых разрядов.
Пример, а=+1101 а=-1101
аобр= апр=0.0001101 аобр=1.1110010
В дополнительном коде запись положительных чисел не изменяется. Для перевода отрицательных чисел в дополнительный код записывают еденицу в знаковый разряд и выполняют инверсию цифровых разрядов, прибавляют «единицу» в младший разряд числа.
Пример, а=+1101 а=-1101
адоп=аобр =апр=0.0001101 адоп=аобр+1=
-
+
1.
1
1
1
0
0
1
0
1
1.
1
1
1
0
0
1
1
Машинные арифметические операции над числами производятся в зависимости от формы представления этих чисел. Существует две формы представления этих чисел: