Лекции по "Информатике"

Автор работы: Пользователь скрыл имя, 18 Октября 2014 в 17:38, курс лекций

Краткое описание

§ 1. Введение в информатику
1. Определение инфоpматики
Термин "информатика" происходит от французских слов information (информация) и automatique (автоматика) и дословно означает "информационная автоматика".

Прикрепленные файлы: 1 файл

Лекции_по_Информатике.doc

— 2.05 Мб (Скачать документ)

 

Диапазоны значений целых чисел со знаком

Формат числа в байтах

Диапазон

Запись с порядком

Обычная запись

1

–27 ... 27–1

–128 ... 127

2

–215 ... 215–1

–32768 ... 32767

4

–231 ... 231–1

–2147483648 ... 2147483647


 

Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины – семь разрядов.

В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код.


Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией cложения.

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде.

Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.

1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Например: -538 =101010112.

2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями.   Например: -538  = 010101002.

3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.

Например: -538  =

010101002

       + 000000012

      ¾¾¾¾¾¾

       = 010101012

Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа.


 

 

10. Выполнение арифметических действий над целыми числами компьютером

Сложение и вычитание

В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение уменьшаемого с обратным или дополнительным кодом вычитаемого. Это позволяет существенно упростить конструкцию АЛУ.


При сложении двоичных кодов чисел А и В имеют место четыре основных и два особых случая:

    1. Числа А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю.

Например: A= 538 , B = 128

538  +128 =001010112   + 000010102     = 001101012  = 658

001010112

       + 000010102

      ¾¾¾¾¾¾

       = 001101012

Здесь получен правильный результат.

2. А положительное, число B отрицательное и по абсолютной величине больше, чем А.  Например: 128   +( – 538 ) = – 418 = 000010102 + 010101002 =010111102  

000010102

       + 010101002

      ¾¾¾¾¾¾

       = 010111102

 

Получен правильный результат в обратном коде. При переводе числа в прямой код биты цифровой части результата инвертируются, т.е. 101000012= – 418 :

010111102    à 101000012

3. А положительное, число B отрицательное и по абсолютной величине меньше, чем А.

Например: 538  +( -128 ) = 418 = 001010112    + 011101012 = 101000002

001010112

       + 011101012

      ¾¾¾¾¾¾

       = 101000002

Компьютер исправляет полученный неправильный результат в прямом коде (– 408 вместо 418) переносом единицы из знакового разряда в младший разряд суммы:

101000002  à  001000012

4. Числа А и В отрицательные.

Например:   (–58) + (–58) = –128 = 011110102 + 011110102 =  111101002

011110102

       + 011110102

      ¾¾¾¾¾¾

       = 111101002

Полученный первоначально неправильный результат (получен обратный код числа –138 вместо обратного кода числа –128) компьютер исправляет ошибку переносом единицы из знакового разряда в младший разряд суммы:

111101002  à (перенос 1)  à 011101012 (обратный код числа)

При переводе результата в прямой код биты цифровой части числа инвертируются: 011101012  à 100010102 (прямой код) = –128 =  –1010

 

При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него ячейке памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения.

5. Числа А и В положительные, но сумма А+В больше, либо равна 2n–1, где n – количество разрядов формата чисел ( для однобайтового формата n=8, 2n–1 =27=128). Например: 1208 + 1228 = 010100002 + 010100102 =101000102= 2428

010100002

       + 010100102

      ¾¾¾¾¾¾

       = 101000102

Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (2428 = 101000102), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых, что является свидетельством переполнения разрядной сетки.

6. Числа А и В отрицательные, а сумма абсолютных величин А и В больше, либо равна 2n–1 , где n – количество разрядов формата чисел. В этом случае также знак суммы  не совпадает со знаками слагаемых, что будет свидетельствовать о переполнении разрядной сетки.

Умножение и деление

Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.

Другой же регистр АЛУ, участвующий в выполнении операции умножения, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.

Деление для компьютера является еще более трудной операцией, чем умножение. Обычно деление реализуется путем многократного прибавления к делимому дополнительного кода делителя.

11. Представление в компьютере вещественных чисел.

 

Вещественными числами (в отличие от целых) в компьютерной технике называются числа, имеющие дробную часть.


При их написании в программе вместо запятой принято писать точку. Так, например, число 5 — целое, а числа 5.1 и 5.0 — вещественные.

Для удобства отображения чисел, принимающих значения из достаточно широкого диапазона (то есть, как очень маленьких, так и очень больших), используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.25 можно в этой форме представить так:

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 × q p, где M называется мантиссой числа, а p — порядком числа. Такой способ записи чисел называется представлением числа с плавающей точкой.


 

Если “плавающая” точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует вывод:

Мантисса должна быть правильной дробью, первая цифра которой после запятой отлична от нуля: M лежит в диапазоне [0.1, 1).


 

Такое, наиболее точное для компьютера, представление вещественных чисел называется нормализованным.

 

Мантиссу и порядок q- ичного числа принято записывать в системе с основанием q, а само основание обозначают в десятичной системе.

 

Примеры нормализованного представления чисел:

Десятичная система                              Двоичная система

753.1510 = 0.75315×103;                        –101.012 = –0.10101×211 (порядок 112 = 310)

–0.00003410 = –0.34×10-4;                     –0.0000112 = 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


 

Из этой таблицы видно, что форма представления чисел с плавающей точкой позволяет записывать числа с высокой точностью и из весьма широкого диапазона.

При хранении числа в компьютере с плавающей точкой отводятся отдельные разряды для мантиссы, порядка, знака числа и знака порядка:

· Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.

· Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.


 

 

 

12. Выполнение арифметических действий

над нормализованными числами.

 

К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ процессора компьютера.

Сложение и вычитание

При сложении и вычитании сначала производится подготовительная операция, называемая выравниванием порядков чисел.

В процессе выравнивания порядков мантисса числа с меньшим порядком сдвигается в своем регистре вправо на количество разрядов, равное разности порядков операндов. После каждого сдвига порядок увеличивается на единицу.


В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в одинаковых разрядах обоих регистров, после чего мантиссы складываются или вычитаются.

(В случае необходимости) полученный результат нормализуется путем сдвига мантиссы результата влево. После каждого сдвига влево порядок результата уменьшается на единицу.

 

Пример 1. Сложить двоичные нормализованные числа 0.10111•2–1 и 0.11011•210. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа с меньшим порядком сдвигается на три разряда вправо, т.е. :    0.10111•2–1 = 0.00010111•210

0.1101100•210

       + 0.0001011•210

      ¾¾¾¾¾¾

       = 0.1110111•210

Пример 2. Выполнить вычитание двоичных нормализованных чисел 0.10101•210 и 0.11101•21. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:   0.11101•21  = 0.011101•210

0.101010•210

       - 0.011101•210

      ¾¾¾¾¾¾

       = 0.001101•210

Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка числа на две единицы:      0.001101•210  =  0.1101•20  .

Умножение

При умножении двух нормализованных чисел их порядки складываются, а мантиссы перемножаются.


 

Пример 3. Выполнить умножение двоичных нормализованных чисел:

(0.11101•2101) • (0.1001•211) = (0.11101•0.1001) • 2(101+11) = 0.100000101•21000.

0.11101•2101

       * 0.1001 •211

      ¾¾¾¾¾¾

            11101

                      +    11101

                                ¾¾¾¾¾¾¾¾¾

                    = 0.100000101•21000

Деление

При делении двух нормализованных чисел из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя. Затем в случае необходимости полученный результат нормализуется.


 

Пример 4. Выполнить деление двоичных нормализованных чисел:

0.1111•2100 : 0.101•211 = (0.1111 : 0.101) • 2(100–11) = 1.1•21 = 0.11•210,

где мантиссы делятся друг на друга  методом – в столбик:

0.1111 | 0.101

        - 0.101     1.1

Информация о работе Лекции по "Информатике"