- •Алфавит языка, имена, числа, строки.
- •Структура программы.
- •3. Тип Integer.
- •4. Тип Real.
- •5. Тип Boolean и Char.
- •6. Описательная часть программного блока.
- •7. Процедуры ввода/вывода
- •8. Оператор присваивания.
- •9. Условный оператор
- •X, y, max: integer;
- •10. Оператор цикла с перечислением
- •11. Циклы с предусловием
- •12. Циклы с постусловием
- •13. Оператор варианта.
- •14. Классификация типов данных.
- •15. Перечислимые типы данных
- •16. Ограниченые типы данных.
- •17. Регулярные типы данных.
- •18. Многомерные массивы.
- •19. Комбинированные типы данных
- •20. Оператор with.
- •21 Записи с вариантами
- •22 Множественные типы данных.
- •23 Операции над данными множесвенного типа
- •24 Файловые типы данных
- •25 Текстовые файлы
- •26 Ссылочные типы данных
- •27 Оператор new
- •28 29 Процедуры и функции
- •30. Параметры процедур и функций.
- •31. Локальные и глобальные объекты в процедуах и функциях
- •32. Рекурсии в процедурах и функциях.
- •33. Структурное представление основных конструкций языка.
- •38. Данные с фиксированной точкой
- •1111111101000111(2)- Инвертируем биты - 0000000010111000(2)
- •39. Внутреннее представление чисел с плавающей точкой.
- •40. Внутреннее представление символьных и строковых данных.
- •41. Реализация алгоритма сортировки с применением метода "часового".
- •42. Сортировка методом "пузырька".
- •43. Сортировка выбором min элемента.
38. Данные с фиксированной точкой
Данные с фиксированной точкой - это форма представления чисел в ЭВМ с постоянным положением запятой, отделяющей целую часть числа от дробной. В ЭВМ числа с фиксированной точкой являются одним из базовых типов. Если предположить, что после запятой идут одни нули, то сразу получим множество целых чисел. В результате чего числа с фиксированной запятой можно условно поделить на целочисленные и числа с дробной частью.
Положительные целые со знаком - это 0 и все положительные числа.
Отрицательные целые со знаком - это все числа, меньшие 0. Отличительным признаком числа со знаком является особая трактовка одного из битов поля, представляющего число. В случае, если бит равен 0, то число считается положительным и его значение вычисляется по обычным правилам. В случае, если этот бит равен 1, число считается отрицательным и предполагается, что оно записано в так называемом дополнительном коде.
Дополнительный код некоторого отрицательного числа представляет собой результат инвертирования (замены 1 на 0 и наоборот) каждого бита двоичного числа, плюс единица. К примеру рассмотрим десятичное число -185(10). Модуль данного числа в двоичном представлении равен 10111001(2). Сначала нужно дополнить это значение слева нулями до нужной размерности - байта, слова и т.д. В нашем случае дополнить нужно до структуры размером в 2 байта (в IBM-370 это полуслово, а в Intel - слово), так как диапазон представления знаковых чисел в байте составляет -128..127. Следующее действие – получить двоичное дополнение. Для этого все разряды двоичного числа нужно инвертировать:
0000000010111001(2)в 1111111101000110(2)
Теперь прибавляем единицу:
1111111101000110(2)+ 0000000000000001(2) = 1111111101000111(2)
Результат преобразования равен 1111111101000111(2). Именно так и представляется число -185(10) в компьютере. При работе с числами со знаком от вас наверняка потребуется умение выполнять обратное действие - имея двоичное дополнение числа, определить значение его модуля. При этом необходимо сделать два действия:
Выполнить инвертирование битов двоичного дополнения.
К полученному двоичному числу прибавить двоичную единицу.
К примеру, определим модуль двоичного представления числа -185(10)= 1111111101000111(2):
1111111101000111(2)- Инвертируем биты - 0000000010111000(2)
Добавляем двоичную единицу:
0000000010111000(2)+ 0000000000000001(2)= 0000000010111001(2)= |-185|
39. Внутреннее представление чисел с плавающей точкой.
ЧИСЛО С ПЛАВАЮЩЕЙ ТОЧКОЙ [floating-point number]. Рациональное число, представленное в форме, содержащей явно заданный порядок числа, например 0.12345-Ю3. В общем случае Ч. с п. т. имеет вид M-qP, где М -число с фиксированной точкой, называемое мантиссой, q — основание системы счисления, р — число целого типа, называемое порядком. В приведенном примере 0.12345— мантисса, 10— основание десятичной системы счисления, 3 — порядок. Запись числа в форме Ч. с п. т. может быть сделана многими способами. Например, то же число может быть записано как 0.012345-104 и 1.2345-102. Чтобы избежать такой неоднозначности, обычно применяется нормализованная форма 0.12345-103. В языках программирования Паскаль, Фортран и др. вместо основания системы 10 в десятичных Ч. с п. т. пишут букву Е или е, а знак умножения после мантиссы не ставится, например 0.123Е—5 или 0.123е—5 вместо 0.123-10"5. Арифметические операции над Ч. с п. т. выполняются отдельно над мантиссой и порядком, например, при умножении таких чисел их мантиссы перемножаются, а порядки складываются. Поэтому при размещении Ч. с п. т. в памяти ЭВМ оно разбивается на мантиссу и порядок, которые раздельно помещаются в отведенные для них части ячейки памяти. Этот способ называется полулогарифмическим представлением чисел. Конечно, при размещении чисел в памяти ЭВМ используется двоичное представление мантиссы и порядка. См. представление чисел с плавающей точкой
