Автор работы: Пользователь скрыл имя, 31 Октября 2013 в 18:25, курс лекций
Лекция 1. Введение в информатику
1.1. Что такое инфоpматика?
Термин "информатика" (франц. informatique) происходит от французских слов information (информация) и automatique (автоматика) и дословно означает "информационная автоматика".
Широко распространён также англоязычный вариант этого термина — "Сomputer science", что означает буквально "компьютерная наука".
Инфоpматика — это основанная на использовании компьютерной техники дисциплина, изучающая структуру и общие свойства информации, а также закономерности и методы её создания, хранения, поиска, преобразования, передачи и применения в различных сферах человеческой деятельности.
Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
Умножение в двоичной системе |
Умножение в восьмеричной системе |
Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям.
Пример 7. Перемножим числа 5 и 6.
Ответ: 5*6 = 3010 = 111102 = 368.
Проверка. Преобразуем полученные произведения
к десятичному виду:
111102 = 24 + 23 + 22 +
21 = 30;
368 = 3•81 + 6•80 = 30.
Пример 8. Перемножим числа 115 и 51.
Ответ: 115*51 = 586510 = 10110111010012 = 133518.
Проверка. Преобразуем полученные произведения
к десятичному виду:
10110111010012 = 212 + 210 + 29
+ 27 + 26 + 25 + 23 + 20
= 5865;
133518 = 1*84 + 3*83 + 3*82
+ 5*81 + 1*80 = 5865.
Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей.
Пример 9. Разделим число 30 на число 6.
Ответ: 30 : 6 = 510 = 1012 = 58.
Пример 10. Разделим число 5865 на число 115.
Восьмеричная: 133518 :1638
Ответ: 5865 : 115 = 5110 = 1100112 = 638.
Проверка. Преобразуем полученные частные к десятичному
виду:
1100112 = 25 + 24 + 21 +
20 = 51; 638 = 6*81 + 3*80
= 51.
Пример 11. Разделим число 35 на число 14.
Восьмеричная: 438 : 168
Ответ: 35 : 14 = 2,510 = 10,12 = 2,48.
Проверка. Преобразуем полученные частные к десятичному
виду:
10,12 = 21 + 2 -1 = 2,5;
2,48 = 2*80 + 4*8-1 = 2,5.
Целые числа могут представляться в компьютере со знаком или без знака.
Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 000000002 до 111111112 , а в двубайтовом формате — от 00000000 000000002 до 11111111 111111112.
Диапазоны значений целых чисел без знака
Формат числа в байтах |
Диапазон | |
Запись с порядком |
Обычная запись | |
1 |
0 ... 28–1 |
0 ... 255 |
2 |
0 ... 216–1 |
0 ... 65535 |
Примеры:
а) число 7210 = 10010002 в однобайтовом формате:
б) это же число в двубайтовом формате:
в) число 65535 в двубайтовом формате:
Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак “плюс” кодируется нулем, а “минус” — единицей.
Диапазоны значений целых чисел со знаком
Формат числа в байтах |
Диапазон | |
Запись с порядком |
Обычная запись | |
1 |
–27 ... 27–1 |
–128 ... 127 |
2 |
–215 ... 215–1 |
–32768 ... 32767 |
4 |
–231 ... 231–1 |
–2147483648 ... 2147483647 |
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины – семь разрядов.
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. |
Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией cложения.
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде. Например:
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Например:
2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями. Например:
3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду. Например:
Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа. |
В большинстве компьютеров операц |
При сложении обратных кодов чисел А и В имеют место четыре основных и два особых случая:
1. А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:
Получен правильный результат.
2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:
Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = –710.
3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:
Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы.
4. А и В отрицательные. Например:
Полученный первоначально
При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = –1010.
При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения.
5. А и В положительные, сумма А+В больше, либо равна 2n–1, где n – количество разрядов формата чисел (для однобайтового формата n=8, 2n–1 = 27 = 128). Например:
Семи разрядов цифровой
части числового формата недост
6. А и В отрицательные, сумма абсолютных величин А и В больше, либо равна 2n–1. Например:
Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки.
Все эти случаи имеют место и при сложении дополнительных кодов чисел:
1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода.
2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:
Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = –710.
3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:
Получен правильный результат. Единицу переноса из знакового разряда компьютер отбрасывает.
4. А и В отрицательные. Например:
Получен правильный результат в дополнительном коде. Единицу переноса из знакового разряда компьютер отбрасывает.
Случаи переполнения для дополнительных кодов рассматриваются по аналогии со случаями 5 и 6 для обратных кодов.
Сравнение рассмотренных форм кодирования целых чисел со знаком показывает:
Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.
Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.
Для иллюстрации умножим 1100112 на 1011012.
Деление для компьютера является трудной операцией. Обычно оно реализуется путем многократного прибавления к делимому дополнительного кода делителя.
Вещественными числами (в отличие от целых) в компьютерной технике называются числа, имеющие дробную часть. |
При их написании вместо запятой принято писать точку. Так, например, число 5 — целое, а числа 5.1 и 5.0 — вещественные.
Для удобства отображения чисел, принимающих значения из достаточно широкого диапазона (то есть, как очень маленьких, так и очень больших), используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.25 можно в этой форме представить так:
1.25*100 = 0.125*101 = 0.0125*102 = ... ,
или так:
12.5*10–1 = 125.0*10–2 = 1250.0*10–3 = ... .
Любое число N в системе счисления с основанием q можно записать в виде N = M * qp, где M называется мантиссой числа, а p — порядком. Такой способ записи чисел называется представлением с плавающей точкой. |
Если “плавающая” точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует:
Мантисса должна быть правильной дробью, первая цифра которой отлична от нуля: M из [0.1, 1). |
Такое, наиболее выгодное для компьютера, представление вещественных чисел называется нормализованным.
Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание — в десятичной системе.
Примеры нормализованного представления:
Десятичная система Двоичная система
753.15 = 0.75315*103; -101.01 = -0.10101*211 (порядок 112 = 310)
-0.000034 = -0.34*10-4; -0.000011 = 0.11*2-100 (порядок -1002 = -410)
Вещественные числа в компьютерах различных типов записываются по-разному. При этом компьютер обычно предоставляет программисту возможность выбора из нескольких числовых форматов наиболее подходящего для конкретной задачи — с использованием четырех, шести, восьми или десяти байтов.
В качестве примера приведем характеристики форматов вещественных чисел, используемых IBM-совместимыми персональными компьютерами:
Форматы вещественных чисел |
Размер в байтах |
Примерный диапазон абсолютных значений |
Количество значащих десятичных цифр |
Одинарный |
4 |
10–45 … 1038 |
7 или 8 |
Вещественный |
6 |
10–39 … 1038 |
11 или 12 |
Двойной |
8 |
10–324 … 10308 |
15 или 16 |
Расширенный |
10 |
10–4932 … 104932 |
19 или 20 |