История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (буквы латинского алфавита заменяю недостающие цифры системы счисления и соответствуют числам 10, 11, 12, 13, 14, 15).
Основание S = 16
Базис – степени числа 16: 160, 161, 162, 163, … или 1, 16, 256, 4096, …
Представим любое 16-ричное число через его цифры и веса разрядов:
A5D16 = D×160 + 5×161 + A×162 = 13×1 + 5×16 + 10×256 = 265310
Этим же способом любое 16-ричное число переводится в десятичную систему счисления.
Обратный перевод – из десятичной в 16-ричную систему счисления – осуществляется последовательным деление десятичного числа на основание 16-ричной системы счисления 16 и считыванием остатков от деления справа налево:
2653/16 = 165 остаток 13, то есть D
165/16 = 10 остаток 5
10/16 = 0 остаток 10, то есть A, получаем A5D16.
Особый случай перевода – двоично-шестнадцатеричный
Для перевода двоичного числа в 16-ричное необходимо:
1. разбить двоичное число справа налево по четыре цифры (недостающие слева дополнить нулями):
100110001012 = 0100 1100 01012
2. каждую четверку цифр представить числом в 16-ричной системе счисления:
0100 1100 01012 = 4C516
4 12=C 5
Для перевода 16-ричного числа в двоичное необходимо каждую цифру 16-ричного числа представить ее четырехразрядным двоичным эквивалентом:
A5D16 = 1010 0101 11012
A 5 D
Для быстрого перевода чисел из одной системы счисления в другую полезно запомнить следующую таблицу соответствия:
| 10-я | ||||||||||||||||
| 2-я | ||||||||||||||||
| 16-я | A | B | C | D | E | F |
Арифметические операции в двоичной системе счисления
Таблица сложения двоичной системы счисления состоит из четырех строк:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (ноль в младшем разряде и единица переноса в старшем)
Сложим два двоичных числа:
Переносы
10110110012
+
1110110112
-------------
100101101002
Вычтем одно двоичное число из другого, притом в старшем разряде при необходимости занимаем две единицы младшего:
10111110012
-
1110110112
-------------
1000111102
Результат вычитания можно проверить обратным сложением:
1000111102
+
1110110112
-------------
10111110012
Арифметические операции в восьмеричной системе счисления
Они выполняются по знакомым нам правилам вычислений в десятичной системе счисления, за исключением того, что старшая цифра не 9, а 7:
Перенос
5638
+
528
-----
6358
Рассмотрим образование следующей суммы:
68
+
58
---
138
Добавляем к первому слагаемому недостающее число до 8 – основания системы счисления. Это число 2, которое мы берем из второго слагаемого. Во втором слагаемом остается 3, которое и записывается в этот разряд, а единица переноса уходит в старший разряд суммы.
При вычитании чисел из старшего разряда при необходимости занимаем восемь единиц младшего:
5238
-
528
-----
4518
Арифметические операции в 16-ричной системе счисления
Они выполняются по знакомым нам правилам вычислений в десятичной системе счисления, за исключением того, что старшая цифра не 9, а F (15):
Перенос
9DA16
+
8216
-----
A5C16
Рассмотрим образование следующей суммы:
D16
+
816
---
1516
Добавляем к первому слагаемому (D=13) недостающее число до 16 – основания системы счисления. Это число 3, которое мы берем из второго слагаемого. Во втором слагаемом остается 5, которое и записывается в этот разряд, а единица переноса уходит в старший разряд суммы.
При вычитании чисел из старшего разряда при необходимости занимаем шестнадцать единиц младшего:
A5C16
-
8216
-----
9DA16
Приложение 3
Ошибки при компиляции
| Номер ошибки | Сообщение | Значение |
| Out of memory | Выход за границы памяти | |
| Identifier expected | Не указан идентификатор. На этом месте должен находиться идентификатор | |
| Unknown identifier | Неизвестный идентификатор. Идентификатор не был описан | |
| Duplicate identifier | Повторный идентификатор. Идентификатор уже описан | |
| Syntax error | Синтаксическая ошибка. В исходном тексте найден неверный символ | |
| Error in real constant | Ошибка в вещественной константе | |
| Error in integer constant | Ошибка в константе целого типа | |
| String constant exceeds line | Строковая константа превышает допустимые размеры строки | |
| Too many nested files | Слишком много вложенных файлов | |
| Unexpected end of file | Некорректный конец файла | |
| Line too long | Слишком длинная строка | |
| Type identifier expected | Требуется идентификатор типа | |
| Too many open files | Слишком много открытых файлов | |
| Invalid file name | Неверное имя файла. Имя файла неверно или указывает на несуществующий путь | |
| File not found | Файл не найден | |
| Disk full | Диск заполнен | |
| Invalid compiler directive | Неверная директива компилятора | |
| Too many files | Слишком много файлов. В компиляции программы или программного модуля задействовано слишком много файлов | |
| Variable identifier expected | Требуется идентификатор переменной | |
| Error in type | Ошибка в определении типа. Определение типа не может начинаться с этого символа | |
| Structure too large | Слишком большая структура. Максимальный размер структурного типа - 64К | |
| Set base type out of range | Базовый тип множества вышел за границы. Базовый тип множества должен представлять собой отрезок порядкового типа с границами 0…255 или перечисляемый тип с не более чем 256 значениями | |
| File components may not be files or objects | Компоненты файла не могут быть файлами или объектами | |
| Invalid string length | Неверная длина строки. Максимальная описываемая длина строки – 255 символов | |
| Type mismatch | Несоответствие типов | |
| Invalid subrange base type | Неверный базовый тип диапазона. Диапазон можно описывать для данных порядкового типа | |
| Lower bound greater than upper bound | Нижняя граница больше верхней | |
| Ordinal type expected | Требуется порядковый тип. Действительный, строковый, структурный и указательный типы в данном случае недопустимы | |
| Integer constant expected | Требуется целая константа | |
| 31 | Constant expected | Требуется константа |
| Integer or real constant expected | Требуется целая или вещественная константа | |
| Pointer type identifier expected | Требуется идентификатор типа указателя | |
| Invalid function result type | Неверный тип результата функции. Правильными типами результатами функции являются все простые, строковые и ссылочные типы | |
| Begin expected | Требуется слово Begin | |
| End expected | Требуется слово End | |
| Integer expression expected | Требуется выражение целого типа | |
| Ordinal expression expected | Требуется выражение порядкового типа | |
| Boolean expression expected | Требуется выражение логического типа | |
| Operand types do not match operator | Типы операндов не соответствуют типу оператора | |
| Error in expression | Ошибка в выражении | |
| Illegal assignment | Неверное присваивание | |
| Object file too large | Объектный файл слишком большой – больше 64 К | |
| Code segment too large | Сегмент кода слишком большой – больше 64 К | |
| Data segment too large | Сегмент данных слишком большой – больше 64 К | |
| Do expected | Требуется слово Do | |
| OF expected | Требуется слово Of | |
| INTERFACE expected | Требуется интерфейсный раздел | |
| THEN expected | Требуется слово Then | |
| TO or DOWNTO expected | Требуется слово To или DownTo | |
| Division by zero | Деление на ноль | |
| Invalid file type | Неверный файловый тип | |
| Cannot Read or Write variables of this type | Нельзя считать или записать переменные данного типа | |
| Pointer variable expected | Требуется использовать переменную-указатель | |
| String variable expected | Требуется строковая переменная | |
| String expression expected | Требуется выражение строкового типа | |
| Circular unit reference | Циклическая ссылка на модуль. В интерфейсном разделе два модуля не могут ссылаться друг на друга | |
| Unit name mismatch | Несоответствие имен программных модулей. Имя программного модуля, найденное в файле .tpu, не соответствует имени, указанному в операторе Uses | |
| Implementation expected | Требуется раздел реализации – отсутствует ключевое слово Implementation | |
| Constant and case types do not match | Типы констант (меток) и тип выражения (переключателя) оператора Case не соответствуют друг другу | |
| Record variable expected | Требуется переменная типа запись | |
| Constant out of range | Константа выходит за границы допустимых значений | |
| File variable expected | Требуется файловая переменная | |
| Pointer expression expected | Требуется выражение типа указатель | |
| Integer or real expression expected | Требуется выражение целого или вещественного типа | |
| Label already defined | Метка уже определена | |
| Undefined label in processing statement part | Неопределенная метка в обрабатываемом разделе операторов | |
| Unit expected | Требуется слово Unit | |
| ‘;’ expected | Требуется ‘;’ | |
| ‘:’ expected | Требуется ‘:’ | |
| ‘,’ expected | Требуется ‘,’ | |
| ‘(’ expected | Требуется ‘(’ | |
| ‘)’ expected | Требуется ‘)’ | |
| ‘=’ expected | Требуется ‘=’ | |
| ‘:=’ expected | Требуется ‘:=’ | |
| ‘[’or ‘(‘ expected | Требуется ‘[’ или ‘(‘ | |
| ‘]’or ‘)‘ expected | Требуется ‘]’ или ‘)‘ | |
| ‘.’ expected | Требуется ‘.’ | |
| ‘..’ expected | Требуется ‘..’ | |
| Too many variables | Слишком много переменных | |
| Invalid FOR control variable | Недопустимый параметр цикла For – должен быть только порядкового типа | |
| Integer variable expected | Требуется переменная целого типа | |
| Files are not allowed here | Здесь не допускаются файлы | |
| String length mismatch | Несоответствие длины. Длина строковой константы не соответствует количеству элементов символьного массива | |
| String constant expected | Требуется константа строкового типа | |
| Integer or real variable expected | Требуется переменная целого или вещественного типа | |
| Ordinal variable expected | Требуется переменная порядкового типа | |
| Character expression expected | Предшествующее выражение должно иметь символьный тип | |
| Overflow in arithmetic operation | Переполнение при выполнении арифметической операции – результат операции вышел за диапазон LongInt | |
| No enclosing FOR, WHILE or REPEAT statement | Процедуры Break и Continue не могут использоваться вне операторов циклов | |
| CASE constant out of range | Метки оператора Case выходят за диапазон -32768…32767 | |
| Too many symbols | Слишком много идентификаторов – программа описывает более 64 К идентификаторов | |
| Statement part too large | Слишком большой раздел операторов – более 24 К | |
| Cannot evaluate this expression | Невозможно вычислить данное выражение | |
| Structured variable are not allowed here | Не допускается использование структурной переменной | |
| Invalid floating-point operation | Недопустимая операция с плавающей точкой – получено переполнение или деление на ноль | |
| Too many nested scopes | Слишком большая вложенность | |
| File access denied | Файл недоступен. Файл не может быть открыт или создан | |
| Object type expected | Требуется объектный тип |
Ошибки времени выполнения
а) Ошибки системы MS-DOS
| Номер ошибки | Сообщение | Значение |
| File not found | Файл не найден | |
| Path not found | Путь к файлу не найден | |
| Too many open files | Слишком много открытых файлов | |
| File access denied | Нет доступа УК файлу | |
| Invalid driver number | Некорректный номер дискового устройства | |
| No more files | Нет файлов |
б)Ошибки ввода-вывода
При включенной директиве {$I-} номер ошибки ввода-вывода возвращается функцией IOResult
| Номер ошибки | Сообщение | Значение |
| Disk read error | Ошибка чтения диска | |
| Disk write error | Ошибка записи на диск | |
| File not assigned | Файл не назначен. Файловой переменной не поставлено в соответствие имя файла | |
| File not open | Файл не открыт | |
| File not open for input | Файл не открыт для ввода | |
| File not open for output | Файл не открыт для вывода | |
| Invalid numeric format | Неверный числовой формат – вместо чисел вводятся данные других типов |
в)Критические ошибки
| Номер ошибки | Сообщение | Значение |
| Disk is write protected | Диск защищен от записи | |
| Unknown unit | Неизвестный модуль | |
| Disk not ready | Дисковое устройство не готово к работе | |
| Unknown command | Неопознанная команда | |
| Device write fault | Ошибка при записи на устройство | |
| Device read fault | Ошибка при чтении с устройства | |
| Hardware failure | Сбой в оборудовании |
г)Фатальные ошибки
| Номер ошибки | Сообщение | Значение |
| Division by zero | Деление на ноль | |
| Range check error | Выход за пределы допустимых значений | |
| Stack overflow error | Переполнение стека | |
| Invalid pointer operation | Некорректная операция ссылки | |
| Floating point overflow | Переполнение при выполнении операции с плавающей запятой | |
| Floating point underflow | Исчезновение порядка при выполнении операции с плавающей запятой | |
| Invalid floating point operation | Недопустимая операция с плавающей запятой | |
| Object not initialized | Объект не инициализирован | |
| Arithmetic overflow | Арифметическое переполнение |
|
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!