
- •Системы счисления, используемые на компьютере. Десятичная система, двоичная и 16-ричная системы счисления. Правила перевода.
- •Арифметические операции в двоичной системе счисления. Понятие прямого, обратного и дополнительного кода. Сложение и вычитание целых чисел в двоичной системе счисления.
- •Арифметические операции в двоичной системе счисления. Представление вещественных чисел в компьютере. Сложение и вычитание вещественных чисел в двоичной системе счисления.
- •Основные логические операции: and, or, not, xor. Таблицы истинности для этих операций. Основные тождества булевой алгебры.
- •Понятие об информации и науке информатике. Исторические этапы способов обработки, хранения и передачи информации.
- •Функции компьютера. Их краткая характеристика.
- •Структура компьютера. Основные компоненты компьютера и их характеристика. Состав центрального процессора.
- •Язык блок-схем. Основные типы блоков. Понятие структуры. Виды структур.
- •17. Основные типы алгоритмов и способы их записи на языке блок-схем.
- •18. Архитектура эвм. Особенности фон Неймановской архитектуры.
- •Оперативная память компьютера. Понятие бита, байта, слова, двойного слова. Понятие адреса байта и слова.
- •Регистры центрального процессора. Краткая характеристика регистров общего назначения.
- •Регистры центрального процессора. Сегментные регистры и указатель команд. Регистр флагов.
- •Представление данных на компьютере. Представление целых чисел без знака и со знаком.
- •23 Представление данных на компьютере. Представление символьных данных и представление команд.
- •Понятие о языке Ассемблера. Этапы разработки программы на ассемблере.
- •Windows api функция для вывода символов на экран. Ее основные параметры и их назначение.
- •Windows api функция для ввода символов с консоли. Ее основные параметры и их назначение.
- •Особенности сложения и вычитания целых (в том числе и знаковых) чисел на Ассемблере.
- •29. Команды умножения и деления на Ассемблере.
- •30. Директивы определения данных.
- •33. Модификация адресов на ассемблере. Индексирование в одномерном массиве.
- •34. Модификация по нескольким регистрам на ассемблере. Обработка двумерных массивов.
- •Процедуры на Ассемблере. Правила оформления процедуры и обращения к ней.
- •36. Процедуры на Ассемблере. Передача параметров в процедуру. Рекурсивные процедуры.
- •Работа с файлами на Ассемблере. Открытие и закрытие файлов. Windows api процедуры открытия и закрытия файлов, их параметры.
- •38. Чтение из файла и запись в файл. Windows api процедуры записи и чтения файлов, их параметры.
- •39. Работа с вещественными числами на Ассемблере. Математический сопроцессор и его регистры. Форматы записи вещественных чисел.
- •40. Работа с вещественными числами на Ассемблере. Команды передачи данных и арифметические команды математического сопроцессора.
Арифметические операции в двоичной системе счисления. Представление вещественных чисел в компьютере. Сложение и вычитание вещественных чисел в двоичной системе счисления.
Любое вещественное число N, представляемое в системе счисления с основанием p, можно представить в виде
N = + M · p+ k, где M – мантисса, k – порядок числа (целое число)
234,4710 = 0,23447 · 103
1011,012 = 0,101101 · 10100 , здесь мы учли, что 210 = 102 и 410 = 1002
Это представление числа, называется представлением с плавающей точкой, где порядок определяет, на сколько необходимо осуществить сдвиг относительно запятой. Когда плавающая запятая размещена в мантиссе перед первой значащей цифрой, то такая форма записи — нормализованная, как в случаях, описанных выше.
Я не знаю, как это описать словами, поэтому рассмотрим пример из учебника:
A = - 100111010,00100110011001 * 20 = - 0,10011101000100110011001 * 29
B = + 11011,001011100001010001 * 29 = + 0,11011001011100001010001 * 25
Смещенный порядок числа А будет равен P*A = PA + N = 9 + 128 = 13710 = 1000 10012
Смещенный порядок числа B будет равен P*B = PB + N = 5 + 128 = 13310 = 1000 01012
Запишем числа в заданном формате:
A: 1.10001001. 10011101000100110011001;
B: 0.10000101. 11011001011100001010001;
Для выполнения операции сложения необходимо выровнять порядки чисел, т.е. принять порядок меньшего числа (B) равным порядку большего числа (A), уменьшив мантиссу меньшего путем сдвига вправо на число разрядов, равное разности порядков чисел PA – PB = 4:
B: 0.10001001. 000011011001011100001010001
Мантиссу отрицательного числа MА представляем в дополнительном коде, положительного MB в прямом. Тогда
MA = 1.01100010111011001100110 – в обратном
MA = 1.01100010111011001100111 – в дополнительном
MA = 1.01100010111011001100111
+
MB = 0.00001101100101110000101
MA + MB = 1.01110000100000111101100
Результат отрицательный в знаковом разряде 1, мантисса нормализованная. Запишем результат с учетом разрядной сетки заданного формата
A + B = 1.10001001.01110000100000111101100
т.к. Результат отрицательный,то мантисса записана в доп.коде, переведем доп.код в прямой(вычтем 1 и инвертируем цифры)
MA + MB = 1.01110000100000111101011 – в обратном
MA + MB = -0.10001111011111000010100 — в прямом
Проверка:
Рассчитаем порядок. 10001001 = 27 + 23 + 20 = 128 + 8 + 1 = 13710
Или с учетом смещения 138 - 128 = 9
Тогда, т.к. Мантисса имеет вид: -0.10001111011111000010100, то с учетом порядка имеем:
100011110.11111000010100(сдвинули точку на 9 позиций).
Значит целая часть результата:
28 + 24 +23 +22 = 256 + 16 + 8+ 4 +2 = 28610
Дробная часть результата:
2-1+2-2+2-3+2-4+2-5 = 0, 96875 ≈ 0,97
Эти же числа А и B сложим в 10ой системе: -314,15 + 27,18 = -286,97
Основные логические операции: and, or, not, xor. Таблицы истинности для этих операций. Основные тождества булевой алгебры.
Как и любая другая, Булева алгебра использует переменные и операции над ними. В данном случае переменные и операции являются логическими переменными и логическими операциями. Переменные могут принимать только два значения - ИСТИНА (1) и ЛОЖЬ (0).
Базовые логические операции — конъюнкция (AND), дизъюнкция (OR) и инверсия (NOT), которые символично представляются знаками точки, плюса, надчеркивания:
A AND B = A ● B ;
A OR B = A + B ;
NOT
A =
;
Результатом операции AND будет 1, тогда и только тогда когда оба операнда 1.
Результатом операции OR будет 0, тогда и только тогда когда оба операнда 0.
Унарная операция NOT инвертирует значение операнда.
При отсутствии скобок, существует приоритет операции AND над OR.
Операция XOR — сумма по ислючительное ИЛИ, дает 1 тогда и только тогда, когда один операнд 1.
Далее приведены таблицы истинности для этих операций.
AND OR NOT XOR
Далее приведены основные тождества Булевой Алгебры:
Постулаты |
||
A●B = B●A |
A+B=B+A |
Коммутативные законы |
A●(B+C)=A●B + A●C |
A+(B●C)=(A+B)●(A+C) |
Дистрибутивные законы |
1●A=A |
0+A=A |
|
A● =0 |
A+ |
|
Производные тождества |
||
0●A=0 |
1+A=1 |
|
A●A=A |
A+A=A |
|
A●(B●C)=(A●B)●C |
A+(B+C)=(A+B)+C |
Ассоциативные законы |
|
|
Формулы де Моргана |
5. Графические обозначения основных логических операций: AND, OR, NOT. Схема двоичного сумматора и ее анализ.
AND OR NOT XOR
Схема двоичного сумматора и ее анализ.
AB + ( B+ A)