Хранение чисел с фиксированной точкой

Информационная система. Информация. История развития компьютера

Информационная система - система, предназначенная для сбора, передачи, обработки, хранения и выдачи информации потребителям и состоящая из следующих основных компонентов:

• программное обеспечение,

• информационное обеспечение,

• технические средства,

• обслуживающий персонал.

Информация наряду с материей и энергией является первичным понятием нашего мира и поэтому в строгом смысле не может быть определена.

Можно лишь перечислить ее основные свойства, например:

1) информация приносит сведения, об окружающем мире, которых в рассматриваемой точке не было до ее получения;

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

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

Информация – мера разрешения неопределенности.

· 1 бит (1 bit, binary digit) -Разрешает неопределенность при выборе одного из двух возможных вариантов (минимальную неопределенность).

· 1 байт (1 byte) = 8 bit -Разрешает неопределенность при выборе одного из 28 = 256 вариантов

История компьютера

1000 – 500 до н.э. изобретен абак

1500 - Леонардо да Винчи Механический калькулятор

1642 - Блез Паскаль «Паскалина»

1822 Чарльз Бэббидж - Дифференциальная машина

1830 Чарльз Бэббидж - Аналитическая машина

1847-54 Джордж Буль - Булева алгебра

1930-е – 1940-е годы

  • Норберт Винер «Кибернетика»
  • Атанасофф, электронный сумматор
  • Конрад Цузе Z1,Z2,Z3,Z4
  • Англия Колосс, 1943
  • Эккерт, Моучли ENIAC – 1946,
    (Electronic Number Integrator And Computer)
    EDVAC
    (Electronic Discrete Variable Automatic Computer)
  • Джон фон Нейман 1945
    «Предварительный доклад»
  • Клод Шеннон 1948
    «Математические основы теории связи»
  • Лебедев С.А. 1950, МЭСМ

Первый транзистор

Первыйдействующий транзисторсоздали в 1947 году американские физики Уильям Шокли, Джон Бардини Уолтер Браттейнв лабораториях Bell Labs.

Первая микросхема

Первая микросхемабыла изготовлена в компании Texas Instruments под руководством Джека Килби(JackKilby) в 1958 году (Нобелевская премия 2000 г.).

Независимо от Килби приблизительно в то же время Роберт Нойс(RobertNoyce) в основанной им вместе c Гордоном Муром (GordonMoore) и еще шестью коллегами компанииFairchildSemiconductorобъединил полупроводниковые элементы на едином кристалле кремния.

Первый микропроцессор

Первый микропроцессорвыпущен в 1971 году фирмой Intel Corp.Это был Intel 4004.

Микросхема включала в себя 2250 транзисторов и имела тактовую частоту около 100 кГц.В серию 4xxxвходили и другие м/с (4001, 4002 и др.).

Мэйнфреймы

Мэйнфрейм- большой универсальный компьютер.

Доминировали системы фирмы IBM.

IBMSystem/360

IBMSystem/370

Суперкомпьютеры

Суперкомпьютер– универсальный компьютер большой вычислительной мощности.

Сегодня это обычно многопроцессорные системы или компьютерные кластеры.Cray-1(133MFLOPS), также -2, -3, -4

Сайт «Топ-500» (www.top500.org):

Nebulae,Fermi,Sequoia,Tianhe,Jaguar, …

Первые ПК

  • Altair 8800 (фирмаMITS)
  • Radio Shack TRS-80 (Tandy)
  • Commodore PET (Commodore)
  • Sinclair ZX81 (Sinclair)
  • ZX Spectrum (Sinclair)
  • Amiga 1000(Commodore)

Apple& IBM

Apple Iвыпущен в 1976 году.

Процессор 6502 (MOS Technology).

Apple II– 1977 год.

IBM PC– 1981 год.

Процессор 8088 (Intel).

IBM PC/XT– 1983 год.

2. Позиционные системы счисления. Перевод чисел из одной системы счисления в другую.

Система счисления – это совокупность правил для обозначения и наименования чисел.

Непозиционной называется такая система счисления, в которой количественный эквивалент каждой цифры не зависит от ее положения (места, позиции) в записи числа.

Система счисления называется позиционной, если значение цифры зависит от ее места (позиции) в записи числа.

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

Наименование системы счисления соответствует ее основанию (например, десятичной называется система счисления так потому, что ее основание равно 10, т.е. используется десять цифр).

Системы счисления, используемые в компьютерах

Двоичная система счисления. Для записи чисел используются только две цифры – 0 и 1. Выбор двоичной системы объясняется тем, что электронные элементы, из которых строятся ЭВМ, могут находиться только в двух хорошо различимых состояниях. По существу эти элементы представляют собой выключатели. Как известно выключатель либо включен, либо выключен. Третьего не дано. Одно из состояний обозначается цифрой 1, другое – 0. Благодаря таким особенностям двоичная система стала стандартом при построении ЭВМ.

Восьмеричная система счисления. Для записи чисел используется восемь чисел 0,1,2,3,4,5,6,7.

Шестнадцатеричная система счисления. Для записи чисел в шестнадцатеричной системе необходимо располагать шестнадцатью символами, используемыми как цифры. В качестве первых десяти используются те же, что и в десятичной системе. Для обозначения остальных шести цифр (в десятичной они соответствуют числам 10,11,12,13,14,15) используются буквы латинского алфавита – A,B,C,D,E,F.

Перевод чисел из одной системы счисления в другую.

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

1. Последовательно выполнять деление исходного числа и получаемых частных на q до тех пор, пока не получим частное, меньшее делителя.

2. Полученные при таком делении остатки – цифры числа в системе счисления q – записать в обратном порядке (снизу вверх).

Перевод чисел из любой системы счисления в десятичную.

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

Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления (Перевод целых чисел).

Правило: Чтобы перевести целое двоичное число в восьмеричную (8=23) систему счисления необходимо:

  1. разбить данное число справа налево на группы по 3 цифры в каждой;
  2. рассмотреть каждую группу и записать ее соответствующей цифрой восьмеричной системы счисления.

Правило: Чтобы перевести целое двоичное число в шестнадцатеричную (16=24) систему счисления необходимо:

1. разбить данное число справа налево на группы по 4 цифры в каждой;

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

Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную систему счисления.

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

3. Арифметика ЭВМ. Представление чисел в форме с фиксированной точкой.

· Отличие машинной арифметики от арифметики обычной состоит в том, что разрядность чисел в машине конечна.

· Ограниченность чисел обусловлена ограниченностью разрядной сетки (разрядности процессора).

· Бесконечная числовая ось в машине отображается конечным множеством точек. N = 2n (n – разрядность)

Информация в памяти ЭВМ хранится и обрабатывается в двоичной системе счисления. Неделимой наименьшей единицей хранения информации является один бит, т.е.. двоичный разряд, который может принимать значения 0 или 1.

Группа из 8 битов называется байтом. Вся оперативная память состоит из байтов, которые нумеруются с 0. Последовательность в 1024 байта называется 1килобайт (1 кбайт = 1024 байта); 1 мегабайт = 1024 Кбайт,
1 гигабайт = 1024 Мбайт, 1 терабайт = 1024 Гбайт,
1 петабайт = 1024 Тбайт, 1экзабайт = 1024 Пбайта.

Адресом любого данного считается адрес (номер) самого первого байта поля памяти, выделенной для его хранения.

Форма записи данных в памяти ЭВМ называется внутренним представлением данных. В ЭВМ применяют две формы представления чисел: с фиксированной и с плавающей точкой.

Хранение чисел с фиксированной точкой

Для хранения информации в оперативной памяти служит ячейка. Существуют ЭВМ, в которых ячейка имеет постоянную длину, в ПК – переменную. Наименьшая длина – 1 байт. Есть ячейки в 2, 4, 6, 8, 10 байт. Ячейка в 2 байта называется словом, в 4 – двойным словом, в 1 байт – полусловом. Будем считать, что байты размещаются так(k=2, 4, 6, 8, 10):

Хранение чисел с фиксированной точкой - student2.ru

При представлении чисел с фиксированной точкой местонахождение точки фиксируется в конкретном месте ячейки относительно разряда числа.

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

Хранение чисел с фиксированной точкой - student2.ru

Для представления целых чисел используют два варианта: со знаком и без знака. В первом случае выделяют «знаковый» разряд (обычно крайний слева) и сохраняют там 0 («+») или 1 («-»)

Хранение чисел с фиксированной точкой - student2.ru

Если местонахождение точки фиксируется перед старшим разрядом, то вес разрядов в байте будет другим:

Хранение чисел с фиксированной точкой - student2.ru

В этом формате могут быть числа – правильные дроби.

Для представления целых числе в форме с фиксированной точкой со знаком в ЭВМ применяют прямой, обратный и дополнительный коды. Идея такова: код трактуется как число без знака, а диапазон чисел без знака разбивается на два поддиапазона. Один из них дает положительные числа, а другой – отрицательные. Разбиение выполняется таким образом, чтобы принадлежность к диапазону определялась максимально просто.

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

Формат с фиксированной запятой:

• используется ПК или ДК (чаще),

• числа расположены равномерно по числовой оси,

• дискретность (расстояние между соседними числами) постоянная на всем диапазоне.

4. Сложение в формате с фиксированной точкой. Переполнение.

Таблица сложения для двоичной арифметики:

Хранение чисел с фиксированной точкой - student2.ru

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

Обнаружение переполнения разрядной сетки при сложении может производиться несколькими способами.

Самый простой способ – использование модифицированного кода (с двумя знаковыми разрядами).

Старший знаковый разряд даже при переполнении сохраняет информацию о знаке результата («Разряд знака»).

Младший – «Разряд переполнения». Комбинация знаков при «положительном» переполнении – 01, при «отрицательном» – 10.

Хранение чисел с фиксированной точкой - student2.ru

Недостаток способа модифицированного кода — расширение разрядной сетки на один разряд.

Второй способ обнаружения переполнения - сравнение переносов в знаковый разряд и из знакового разряда. Переполнение - при несовпадении этих переносов. Фактически здесь тоже «задействован» модифицированный дополнительный код.

Случай А. Неотрицательные операнды.

Хранение чисел с фиксированной точкой - student2.ru

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

φр = 0 ÅX = X (переполнение при X = 1).

Слева от штриховой черты показаны значения воображаемого модифицированного дополнительного кода. Правило этого способа дает такое же значение признака переполнения:

φм = 0 ÅX = X

Третий способ - сравнение знаков. Реализуется программно (микропрограммно). Сначала проверяется, имеют ли операнды одинаковые знаки. И, если имеют, совпадает ли с этими знаками знак результата. Переполнение соответствует несовпадению (рис. 4).

Хранение чисел с фиксированной точкой - student2.ru

5. Операция вычитания с фиксированной точкой. Дополнительный код числа.

Таблица вычитания

Хранение чисел с фиксированной точкой - student2.ru

Очень часто в вычислениях должны использоваться не только положительные, но и отрицательные числа.
Число со знаком в вычислительной технике представляется путем представления старшего разряда числа в качестве знакового. Принято считать, что 0 в знаковом разряде означает знак «плюс» для данного числа, а 1 – знак «минус».
Хранение чисел с фиксированной точкой - student2.ru
Выполнение арифметических операций над числами с разными знаками представляется для аппаратной части довольно сложной процедурой. В этом случае нужно определить большее по модулю число, произвести вычитание и присвоить разности знак большего по модулю числа.


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


Прямой код представляет собой одинаковое представление значимой части числа для положительных и отрицательных чисел и отличается только знаковым битом. В прямом коде число 0 имеет два представления «+0» и «–0».


Обратный коддля положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется из прямого кода положительного числа путем инвертирования всех значащих разрядов прямого кода. В обратном коде число 0 также имеет два представления «+0» и «–0».


Дополнительный код для положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется путем прибавления 1 к обратному коду. Добавление 1 к обратному коду числа 0 дает единое представление числа 0 в дополнительном коде. Однако это приводит к асимметрии диапазонов представления чисел относительно нуля. Так, в восьмиразрядном представлении диапазон изменения чисел с учетом знака.

-128 <= x <= 127.

Таблица прямого, обратного и дополнительного кода 4-битных чисел.

Наши рекомендации