Представление целых чисел в формате с фиксированной запятой




Оглавление

Введение

1. Аналитическая часть

1.1 Представление целых чисел в формате с фиксированной запятой

2. Практическая разработка

2.1 Блок-схема алгоритма с поясняющим текстом

2.2 Распределение памяти и листинг программы с комментарием

3. Описание средств вычислительной техники

Вывод

Список литературы


Введение

 

В аналитической части данного курсового проекта необходимо провести аналитический обзор двоичной, восьмеричной и шестнадцатеричной систем счисления и правил перевода десятичных чисел в них и обратно, а также рассмотреть форматы хранения чисел с плавающей точкой. Для примера требуется взять числа из второй части курсового проекта. Знание этих тем необходимо для выполнения практической части, т.к. в Эмулятор микро-ЭВМ используется шестнадцатеричная система счисления, а задание требует сформировать число с плавающей точкой

В практической части необходимо составить программу преобразовывающую массив констант в формат числа с плавающей точкой на Эмуляторе микро-ЭВМ СМ-1800. Программа должна корректно работать для любого массива заданных констант


Аналитическая часть

 

Представление целых чисел в формате с фиксированной запятой

 

Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера ячеек памяти, используемых для их хранения.

Так в n-разрядной ячейке может храниться 2n различных значений целых чисел. Так в 8-разрядной ячейке может храниться 28=256 различных значений, в 16-разрядной - 216=65536 различных значений.

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

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

Для n-разрядного представления оно будет равно . Для 8-разрядной ячейки максимальное значение целого положительного числа достигается в случае, когда во всех ячейках хранятся единицы и равно . Минимальное число соответствует восьми нулям, хранящимся в восьми битах ячейки памяти, и равно нулю. Следовательно, в 8-разрядной ячейке диапазон изменения целых чисел без знака: от 0 до 255. В 16-разрядной ячейке - от 0 до 65535 (всего 65536 значений).

Так, число 111000012 будет храниться в 8-разрядной ячейке памяти следующим образом:

 

               

 

В 16-разрядном представлении число 200610=111110101102 будет храниться следующим образом:

 

                               

 

Итак, чтобы получить внутреннее представление целого числа без знака А, хранящегося в n-разрядном машинном слове, необходимо:

) перевести число А в двоичную систему счисления;

) полученный результат дополнить слева незначащими нулями до n разрядов.

Целые числа со знаком: прямой, обратный и дополнительный коды. Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта. Для хранения целых чисел со знаком старший (левый) разряд в машинном слове отводится под знак числа (если число положительное, то в знаковый разряд записывается ноль, если число отрицательное - единица). Ровно половина из всех 2n чисел будут отрицательными; учитывая необходимость нулевого значения, положительных будет на единицу меньше.

Максимальное положительное число (с учетом выделения одного разряда на знак) для целых чисел со знаком в n-разрядном представлении равно . Минимальное отрицательное число (с учетом выделения одного разряда на знак) для целых чисел со знаком в n-разрядном представлении равно - .

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

в 8-разрядной ячейке: от - 128 до 127;

в 16-разрядной ячейке: от - 32 768 до 32 767;

в 32-разрядной ячейке: от - 2 147 483 648 до 2 147 483 647.

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

Прямой код целого положительного числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют необходимым количеством нулей в соответствии с разрядностью машинного слова. Например, прямой код числа 3710=1001012 в 16-разрядной ячейке будет иметь вид 0000000000100101.

Для записи внутреннего представления целого число со знаком (-А) необходимо:

) модуль числа записать в прямом коде в n двоичных разрядах;

) получить обратный код числа, для этого значения всех бит инвертировать - все единицы заменить на нули и все нули заменить на единицы);

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

Например, внутреннее представление целого отрицательного числа - 1607 в 16-разрядной ячейке запишется следующим образом: 1111 1001 1011 1001. Так как:

) а) ½-1607½=160710=110010001112

б) прямой код в 16-разрядной ячейке:

0110 0100 0111

) обратный код:

1001 1011 1000

) дополнительный код (результат прибавления 1):

1001 1011 1001 - это внутренне двоичное представление числа (-1607).

эмулятор массив плавающая точка


Практическая разработка

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: