SlideShare a Scribd company logo
Архитектура ЭВМ и вычислительных систем
Лекция 2. Представление чисел в ЭВМ
1. Общие сведения
Обычно входные и выходные данные представляются в форме, удобной для человека. Числа
люди привыкли изображать в десятичной системе счисления. Для компьютера удобнее двоичная
система. Это объясняется тем, что технически гораздо проще реализовать устройства (например,
запоминающий элемент) с двумя, а не с десятью устойчивыми состояниями (есть электрический
ток — нет тока, намагничен — не намагничен и т.п.). Можно считать, что одно из двух состояний
означает единицу, другое — ноль. Любые данные (числа, символы, графические и звуковые
образы) в компьютере представляются в виде последовательностей из нулей и единиц. Эти
последовательности можно считать словами в алфавите {0,1}, так что обработку данных внутри
компьютера можно воспринимать как преобразование слов из нулей и единиц по правилам,
зафиксированным в микросхемах процессора. Такой взгляд роднит вычислительные машины с
абстрактными вычислителями. Вспомните машины Тьюринга или нормальные алгоритмы
Маркова. Элемент последовательности из нулей и единиц (член такой последовательности)
называют битом. Именительный падеж — бит. Отображение внешней информации во внутреннее
представление называется кодированием. Кодом (франц. code, от лат. codex — свод законов)
называют как сам способ отображения, так и множество слов (кодовых комбинаций),
используемых при кодировании.
Память ЭВМ построена из запоминающих элементов, обладающих двумя устойчивыми
состояниями, одно из которых соответствует нулю, а другое - единице. Таким физическим
элементом представляется в памяти ЭВМ каждый разряд двоичного числа (бит). Совокупность
определенного количества этих элементов служит для представления многоразрядных двоичных
чисел и составляет разрядную сетку ЭВМ.
Каждая группа из 8-ми запоминающих элементов (байт) пронумерована. Номер байта
называется его адресом. Определенное число последовательно расположенных байт называется
словом. Для разных ЭВМ длина слова различна - два, четыре или восемь байт. (скорее всего это
зависит от разрядности процессора).
2. Числа с фиксированной точкой
При представлении в ЭВМ чисел в естественной форме устанавливается фиксированная длина
разрядной сетки. При этом распределение разрядов между целой и дробной частями остается
неизменным для любых чисел. В связи с эти в информатике существует другое название
естественной формы представления чисел - с фиксированной точкой (запятой).
Работая на компьютере, мы можем вводить числа с фиксированной запятой в любом виде. Так же
они будут высвечиваться на экране компьютера, но перед занесением в память компьютера они
преобразуются в соответствии с разрядной сеткой и хранятся либо с запятой, фиксированной после
последнего разряда (целые числа), либо с запятой перед старшим разрядом дроби.
Современные ЭВМ работают в режиме с плавающей точкой, но сохранен и режим работы с
фиксированной точкой, который используется преимущественно для представления целых чисел.
Обычно целые числа в ЭВМ занимают один, два или четыре байта. Один, как правило, старший
бит отводится под знак числа. Знак положительного числа "+" кодируется нулем, а знак
отрицательного числа "-" - единицей. Целые числа без знака в двух байтовом формате могут
Архитектура ЭВМ и вычислительных систем
принимать значения от 0 до 216
-1 (до 65535), а со знаком "-" от -215
до 215
-1, то есть от -32768 до
32767.
Во всех разрядах всегда должно быть что-то записано, даже если это "незначащий" ноль. Число
располагается так, что его самый младший двоичный разряд записывается в крайний правый бит
разрядной сетки.
Например, десятичное число 19 (100112) в 16-разрядной сетке записывается так:
Достоинством естественной формы являются простота и наглядность представления чисел,
простота алгоритмов реализации операций, а, следовательно, простота устройств и высокая
скорость выполнения операций.
Ячейка с целой и дробной частью.
Как частный случай числа с фиксированной точкой может быть рассмотрена запись целого числа
(в этом случае все разряды, кроме знакового, используются для записи целой части).
Пример.
Ячейка с записью целого числа.
К достоинствам использования чисел с фиксированной точкой относятся простота выполнения
арифметических операций и высокая точность изображения чисел. К недостаткам - небольшой
диапазон представления чисел.
Пусть сетка имеет в составе t двоичных разрядов. Один из разрядов (например, самый
старший) резервируется для знака числа. Сам знак кодируется следующим образом: «-»
соответствует 1, «+» соответствует 0. Само число представляется в двоичной системе счисления и
заносится в разрядную сетку так, что его самый младший разряд помещается в самый младший
разряд сетки, а последующие разряды – следом. Если число имеет меньшее количество разрядов,
чем может вместить разрядная сетка, оставшиеся незаполненными разряды заполняются нулями.
Архитектура ЭВМ и вычислительных систем
Таким образом, (t-1) двоичных разрядов занимаются самим числом и, возможно, дополнительными
нулями и называются числовыми (в отличие от знакового разряда).
Пример 1. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное
число –101112. Результат показан на рисунке:
номера раз-
рядов
7 6 5 4 3 2 1 0
содержимое
разрядов
1 0 0 1 0 1 1 1
Здесь разряд 7 – знаковый, имеет значение 1, поскольку исходное число отрицательно. В
разрядах 0 – 4 размещено само исходное число, разряды 5 и 6 заполнены дополнительными
нулями.
Пример 2. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное
число 101112. Результат показан на рисунке:
номера раз-
рядов
7 6 5 4 3 2 1 0
содержимое
разрядов
0 0 0 1 0 1 1 1
Различие с предыдущим примером в значении седьмого разряда: поскольку исходное
число положительно, там записан 0.
Пример 3. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное
число 111101112.
Поскольку размещаемое число содержит разрядов больше, чем количество числовых
разрядов разрядной сетки (оно равно 7), задача не имеет решения. Возникает ситуация
переполнения (overflow), которая для целых чисел приводит к логической ошибке при выполнении
операции.
Существенным недостатком машин с фиксированной точкой является конечный диапазон
представления величин. Может показаться, что это ограничивает вычислительные возможности
ЭВМ. Но на самом деле короткая длина слова приводит только к снижению быстродействия
машин: обработка больших чисел ведется последовательно-параллельным способом, сами числа
представляются несколькими машинными словами, и для выполнения операций над ними
необходимо составлять специальные программы. Поэтому если результат вычислений в
естественной форме выходит за допустимые пределы, то в современных компьютерах
производиться автоматический переход к представлению данных в экспоненциальной форме (но
только если это оговорено программой).
3. Числа с плавающей точкой (запятой)
Неудобство представления чисел в форме с фиксированной точкой проявляется при решении
задач, в которых фигурируют как очень малые так и очень большие числа. В конкретных
физических, математических и других задачах диапазон изменения величин может составлять,
например от 10-30
до 1030
. Можно убедиться, что в представлении с фиксированной запятой
понадобились бы двоичные слова длинной около 256 бит (32 байт), по 128 бит на целую и дробную
части. Однако работа ЭВМ с операндами такой длины была бы крайне неэффективной.
Архитектура ЭВМ и вычислительных систем
Точность числа определяется не его длиной, а количеством верных значащих цифр.
Для представления вещественных чисел используется логарифмическое представление,
или форма с плавающей точкой, или экспоненциальная форма. Она была введена в обиход в 1937
году немецким ученым Конрадом Цузе.
Формальная запись такой формы имеет вид:
x = m× be
,
где x – вещественное число,
m – мантисса числа,
b – основание системы счисления,
e – порядок (целое).
Это означает, что мантисса должна быть дробью и иметь первую после запятой цифру, отличную
от нуля.
При обозначении основания b и порядка e используется, как правило, десятичная система
счисления. При обозначении мантиссы m применяется, как правило, та система счисления, в
которой представлено само число x.
Данная форма позволяет перемещать десятичную запятую в вещественном числе вправо и
влево, не меняя истинного значения числа.
Мантисса нормализованного числа может изменяться в диапазоне: 1/q ≤ | m | < 1. Таким образом,
в нормализованных числах цифра после точки должна быть значащей.
Пример.
Для представления чисел в машинном слове выделяют группы разрядов для изображения
мантиссы, порядка, знака числа и знака порядка:
а) представление чисел в формате полуслова
б) представление чисел в формате слова
Наиболее типично представление ЧПТ в формате слова (32 разряда).
Пример.
Число А=-3.510=-11.12=-0.111·1010
Архитектура ЭВМ и вычислительных систем
Пример 4. Выполнить представление в логарифмической форме десятичного числа 34,28,
превратив его в правильную дробь.
Для решения этой задачи надо десятичную запятую в числе сместить как минимум на 2
разряда влево, т.е. в таком случае уменьшить число на 2 порядка. Для сохранения первоначального
значения числа введем в его запись порядок, равный +2. Имеем: 34,28 = 0,3428×10+2
. Здесь 0,3428 –
мантисса числа, 10 – основание системы счисления, +2 (можно просто 2) – порядок.
Пример 5. Выполнить представление в логарифмической форме двоичного числа
0,1011012, превратив его в целое число.
Для решения задачи необходимо сдвинуть десятичную запятую на 6 разрядов вправо, т.е.
увеличить число на 6 порядков. Для сохранения первоначального значения числа в его запись
введем порядок, равный -6. Имеем: 0,1011012 = 1011012×2-6
.
Для простоты обозначения числа в логарифмической форме используют специальный
разделитель – букву Е (от слова exponential, англ., - экспоненциальный). Тогда результаты из
предыдущих примеров приобретут другой вид:
0,3428 ×102
⇒ 0,3428Е2,
1011012 × 2-6
⇒ 1011012Е-6.
В этой записи основание системы счисления b подразумевается равным основанию
счисления для мантиссы m.
Разновидностью экспоненциальной формы является ее нормализованный вид.
Нормализованное вещественное число в экспоненциальной форме имеет мантиссу в виде
правильной дроби, у которой старший дробный разряд отличен от 0. Например, 0,2345; 0,10112;
0,ADC2316.
Разрядная сетка для вещественного числа состоит из двух частей: одна предназначена для
размещения порядка, другая – для мантиссы. По одному разряду в обеих частях отводится для
знака - порядка и мантиссы. Перед размещением в разрядной сетке вещественное число в
обязательном порядке должно быть нормализовано.
Размещение порядка выполняется аналогично размещению целого числа (см. п. 9.3.2.1).
При размещении мантиссы используется только ее дробная часть: старший числовой разряд
размещается в самом левом числовом разряде отведенной под нее разрядной сетки. Если число
разрядов мантиссы меньше, чем число разрядов сетки, оставшиеся разряды заполняются нулями.
Если разрядов сетки не хватает, не размещенные двоичные цифры отбрасываются.
Пример 6. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов
отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в
соответствующих частях разрядной сетки. Разместить в сетке двоичное число 0,111012Е-4.
Результат показан на рисунке:
номера раз-
рядов
13 12 11 10 9 8 7 6 5 4 3 2 1 0
содержимое
разрядов
1 0 1 0 0 0 1 1 1 0 1 0 0 0
Архитектура ЭВМ и вычислительных систем
Здесь разряды 9 – 13 отведены под порядок, 0 – 8 – под мантиссу. Знаковые разряды,
соответственно, имеют номера 13 и 8: поскольку порядок отрицателен, разряд 13 содержит 1;
мантисса положительна, поэтому разряд 8 равен 0. В разрядах 9 – 11 размещено значение порядка
в двоичной системе счисления. Оставшийся «лишним» разряд 12 заполнен 0. В разрядах 7 – 3
помещено значение мантиссы. Оставшиеся незанятыми разряды 0 – 2 заполнены 0.
Пример 7. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов
отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в
соответствующих частях разрядной сетки. Разместить в сетке двоичное отрицательное число
-0,11101101112Е4. Результат показан на рисунке:
номера раз-
рядов
13 12 11 10 9 8 7 6 5 4 3 2 1 0
содержимое
разрядов
0 0 1 0 0 1 1 1 1 0 1 1 0 1
Здесь знаковые разряды имеют значения, противоположные предыдущему примеру.
Поскольку число разрядов мантиссы превышает вместимость разрядной сетки, часть из них
потеряна: так, вместо мантиссы 0,1110110111 размещена мантисса 0,11101101. Таким образом, при
размещении вещественных чисел возможна потеря информации, что приводит к неточным
вычислениям на компьютере. Напомним, что часть информации теряется при переводе чисел в
двоичную систему счисления. Для повышения точности вычислений рекомендуется использовать
типы данных с повышенной разрядностью, например, для Турбо-Паскаля тип long integer вместо
integer.
Число в форме с плавающей точкой занимает в памяти ЭВМ четыре или восемь байт (больше
крайне редко). При записи числа с плавающей точкой выделяются разряды для хранения
мантиссы, знака порядка, порядка и мантиссы. Оценим диапазон представления чисел по
максимальному значению:
Таким образом, числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел,
но при этом точность изображения чисел определяется только разрядами мантиссы и уменьшается
по сравнению с числами с фиксированной точкой. При записи числа в формате слова диапазон
представимых чисел будет от -1·2127
до 1·2127
(2127
1038
), а точность определяться мантиссой,
состоящей из 23 разрядов. Точность может быть повышена путем увеличения количества разрядов
мантиссы. Это реализуется путем представления чисел с так называемой двойной точностью
(используется формат двойного слова):
Архитектура ЭВМ и вычислительных систем
Здесь разряды 9 – 13 отведены под порядок, 0 – 8 – под мантиссу. Знаковые разряды,
соответственно, имеют номера 13 и 8: поскольку порядок отрицателен, разряд 13 содержит 1;
мантисса положительна, поэтому разряд 8 равен 0. В разрядах 9 – 11 размещено значение порядка
в двоичной системе счисления. Оставшийся «лишним» разряд 12 заполнен 0. В разрядах 7 – 3
помещено значение мантиссы. Оставшиеся незанятыми разряды 0 – 2 заполнены 0.
Пример 7. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов
отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в
соответствующих частях разрядной сетки. Разместить в сетке двоичное отрицательное число
-0,11101101112Е4. Результат показан на рисунке:
номера раз-
рядов
13 12 11 10 9 8 7 6 5 4 3 2 1 0
содержимое
разрядов
0 0 1 0 0 1 1 1 1 0 1 1 0 1
Здесь знаковые разряды имеют значения, противоположные предыдущему примеру.
Поскольку число разрядов мантиссы превышает вместимость разрядной сетки, часть из них
потеряна: так, вместо мантиссы 0,1110110111 размещена мантисса 0,11101101. Таким образом, при
размещении вещественных чисел возможна потеря информации, что приводит к неточным
вычислениям на компьютере. Напомним, что часть информации теряется при переводе чисел в
двоичную систему счисления. Для повышения точности вычислений рекомендуется использовать
типы данных с повышенной разрядностью, например, для Турбо-Паскаля тип long integer вместо
integer.
Число в форме с плавающей точкой занимает в памяти ЭВМ четыре или восемь байт (больше
крайне редко). При записи числа с плавающей точкой выделяются разряды для хранения
мантиссы, знака порядка, порядка и мантиссы. Оценим диапазон представления чисел по
максимальному значению:
Таким образом, числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел,
но при этом точность изображения чисел определяется только разрядами мантиссы и уменьшается
по сравнению с числами с фиксированной точкой. При записи числа в формате слова диапазон
представимых чисел будет от -1·2127
до 1·2127
(2127
1038
), а точность определяться мантиссой,
состоящей из 23 разрядов. Точность может быть повышена путем увеличения количества разрядов
мантиссы. Это реализуется путем представления чисел с так называемой двойной точностью
(используется формат двойного слова):

More Related Content

PDF
Nikolay Shilov. CSEDays 2
PPTX
Советский суперкомпьютер К-340А и секретные вычисления
PDF
Расчёт дифракционных картин
PPT
Java. Cистемы счислния, битовые операции
PPT
9 1.2 - представление информации в компьютере
PDF
Основы MATLAB. Программирование
PDF
Представление графов в памяти компьютера (c++).
PDF
Основы MATLAB. Лекция 1.
Nikolay Shilov. CSEDays 2
Советский суперкомпьютер К-340А и секретные вычисления
Расчёт дифракционных картин
Java. Cистемы счислния, битовые операции
9 1.2 - представление информации в компьютере
Основы MATLAB. Программирование
Представление графов в памяти компьютера (c++).
Основы MATLAB. Лекция 1.

What's hot (17)

PDF
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
PPT
тема множество для загрузки 2013
PPTX
Matlab и Mathcad. Сравнительная характеристика.
PDF
PDF
PPT
Представление информации в компьютере
PPT
практика 7
PDF
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
PDF
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
PPT
курсовой проект
PDF
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
PPT
лб № 1 кодирование
PPT
PPTX
Лекция 7. Алгоритмы
PDF
Алгоритмы на ruby: жадные алгоритмы
DOC
020
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
тема множество для загрузки 2013
Matlab и Mathcad. Сравнительная характеристика.
Представление информации в компьютере
практика 7
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
курсовой проект
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
лб № 1 кодирование
Лекция 7. Алгоритмы
Алгоритмы на ruby: жадные алгоритмы
020
Ad

Viewers also liked (13)

DOC
лекция 18
PPTX
The 4 Things You Need To Know Before Migrating Your Business To The Cloud
DOC
57
PDF
PDF
Merit Award - ESSENCE Bike by Paulo Oliveira - 14th IBDC
PDF
Ghid violenta in familie
PPT
39
PPT
039
DOC
37
DOCX
Mudra pt elimin.negativitatii
DOC
5
DOC
8
PDF
The Four Knowledges of Sustainable Management: A Developing Tool to Allow Act...
лекция 18
The 4 Things You Need To Know Before Migrating Your Business To The Cloud
57
Merit Award - ESSENCE Bike by Paulo Oliveira - 14th IBDC
Ghid violenta in familie
39
039
37
Mudra pt elimin.negativitatii
5
8
The Four Knowledges of Sustainable Management: A Developing Tool to Allow Act...
Ad

Similar to 03 (20)

PPTX
Запись алгоритмов на языках программирования
PPT
архитектура и устройства компьютерной техники
PPT
Лекция №4 Организация ЭВМ и систем (продолжение)
PPT
PPT
04
DOC
02
PPT
лекция 7
PPTX
Theme 02
PPT
Лекция №4(часть 1) Организация ЭВМ и систем
PDF
система счисления
PPT
01 вводная
PPT
Lk7.pptLk7.pptLk7.pptLk7.pptLk7.pptLk7.ppt
PPT
Презентация
PPTX
представление чисел в памяти компьютера
PDF
C++ осень 2013 лекция 2
PPT
5 логические элементы компьютера
DOC
05
PDF
Алгоритмы и структуры данных осень 2013 лекция 1
Запись алгоритмов на языках программирования
архитектура и устройства компьютерной техники
Лекция №4 Организация ЭВМ и систем (продолжение)
04
02
лекция 7
Theme 02
Лекция №4(часть 1) Организация ЭВМ и систем
система счисления
01 вводная
Lk7.pptLk7.pptLk7.pptLk7.pptLk7.pptLk7.ppt
Презентация
представление чисел в памяти компьютера
C++ осень 2013 лекция 2
5 логические элементы компьютера
05
Алгоритмы и структуры данных осень 2013 лекция 1

More from JIuc (20)

DOCX
выступление на совет директоров
DOC
тест по теме системы счисления
DOC
тест по теме компьютерные коммуникации
DOC
тест по теме аппаратное обеспечение эвм
DOC
тест по теме устройство компьютера (20 вопросов)
DOC
тест Atutor аппаратное обеспечение
DOC
итоговый тест по дисциплине аппаратное обеспечение эвм
DOC
тест по теме основные устройства компьютера
DOC
тесты сортировка в бд Excel
DOCX
тест создание и модифиация структуры бд
DOC
тест система управления базами данных
DOCX
тест работа с макросами и внешними данными
DOCX
тест по Sql
DOCX
тест ключи, связи, индексы поиск и фильтрация
DOCX
тест запросы
DOC
тест бд
DOC
тест база данных. основные функции
DOC
тестирование по разделу архитектура эвм
DOC
тест треннинг по архитектуре
DOC
тест треннинг по архитектуре
выступление на совет директоров
тест по теме системы счисления
тест по теме компьютерные коммуникации
тест по теме аппаратное обеспечение эвм
тест по теме устройство компьютера (20 вопросов)
тест Atutor аппаратное обеспечение
итоговый тест по дисциплине аппаратное обеспечение эвм
тест по теме основные устройства компьютера
тесты сортировка в бд Excel
тест создание и модифиация структуры бд
тест система управления базами данных
тест работа с макросами и внешними данными
тест по Sql
тест ключи, связи, индексы поиск и фильтрация
тест запросы
тест бд
тест база данных. основные функции
тестирование по разделу архитектура эвм
тест треннинг по архитектуре
тест треннинг по архитектуре

03

  • 1. Архитектура ЭВМ и вычислительных систем Лекция 2. Представление чисел в ЭВМ 1. Общие сведения Обычно входные и выходные данные представляются в форме, удобной для человека. Числа люди привыкли изображать в десятичной системе счисления. Для компьютера удобнее двоичная система. Это объясняется тем, что технически гораздо проще реализовать устройства (например, запоминающий элемент) с двумя, а не с десятью устойчивыми состояниями (есть электрический ток — нет тока, намагничен — не намагничен и т.п.). Можно считать, что одно из двух состояний означает единицу, другое — ноль. Любые данные (числа, символы, графические и звуковые образы) в компьютере представляются в виде последовательностей из нулей и единиц. Эти последовательности можно считать словами в алфавите {0,1}, так что обработку данных внутри компьютера можно воспринимать как преобразование слов из нулей и единиц по правилам, зафиксированным в микросхемах процессора. Такой взгляд роднит вычислительные машины с абстрактными вычислителями. Вспомните машины Тьюринга или нормальные алгоритмы Маркова. Элемент последовательности из нулей и единиц (член такой последовательности) называют битом. Именительный падеж — бит. Отображение внешней информации во внутреннее представление называется кодированием. Кодом (франц. code, от лат. codex — свод законов) называют как сам способ отображения, так и множество слов (кодовых комбинаций), используемых при кодировании. Память ЭВМ построена из запоминающих элементов, обладающих двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое - единице. Таким физическим элементом представляется в памяти ЭВМ каждый разряд двоичного числа (бит). Совокупность определенного количества этих элементов служит для представления многоразрядных двоичных чисел и составляет разрядную сетку ЭВМ. Каждая группа из 8-ми запоминающих элементов (байт) пронумерована. Номер байта называется его адресом. Определенное число последовательно расположенных байт называется словом. Для разных ЭВМ длина слова различна - два, четыре или восемь байт. (скорее всего это зависит от разрядности процессора). 2. Числа с фиксированной точкой При представлении в ЭВМ чисел в естественной форме устанавливается фиксированная длина разрядной сетки. При этом распределение разрядов между целой и дробной частями остается неизменным для любых чисел. В связи с эти в информатике существует другое название естественной формы представления чисел - с фиксированной точкой (запятой). Работая на компьютере, мы можем вводить числа с фиксированной запятой в любом виде. Так же они будут высвечиваться на экране компьютера, но перед занесением в память компьютера они преобразуются в соответствии с разрядной сеткой и хранятся либо с запятой, фиксированной после последнего разряда (целые числа), либо с запятой перед старшим разрядом дроби. Современные ЭВМ работают в режиме с плавающей точкой, но сохранен и режим работы с фиксированной точкой, который используется преимущественно для представления целых чисел. Обычно целые числа в ЭВМ занимают один, два или четыре байта. Один, как правило, старший бит отводится под знак числа. Знак положительного числа "+" кодируется нулем, а знак отрицательного числа "-" - единицей. Целые числа без знака в двух байтовом формате могут
  • 2. Архитектура ЭВМ и вычислительных систем принимать значения от 0 до 216 -1 (до 65535), а со знаком "-" от -215 до 215 -1, то есть от -32768 до 32767. Во всех разрядах всегда должно быть что-то записано, даже если это "незначащий" ноль. Число располагается так, что его самый младший двоичный разряд записывается в крайний правый бит разрядной сетки. Например, десятичное число 19 (100112) в 16-разрядной сетке записывается так: Достоинством естественной формы являются простота и наглядность представления чисел, простота алгоритмов реализации операций, а, следовательно, простота устройств и высокая скорость выполнения операций. Ячейка с целой и дробной частью. Как частный случай числа с фиксированной точкой может быть рассмотрена запись целого числа (в этом случае все разряды, кроме знакового, используются для записи целой части). Пример. Ячейка с записью целого числа. К достоинствам использования чисел с фиксированной точкой относятся простота выполнения арифметических операций и высокая точность изображения чисел. К недостаткам - небольшой диапазон представления чисел. Пусть сетка имеет в составе t двоичных разрядов. Один из разрядов (например, самый старший) резервируется для знака числа. Сам знак кодируется следующим образом: «-» соответствует 1, «+» соответствует 0. Само число представляется в двоичной системе счисления и заносится в разрядную сетку так, что его самый младший разряд помещается в самый младший разряд сетки, а последующие разряды – следом. Если число имеет меньшее количество разрядов, чем может вместить разрядная сетка, оставшиеся незаполненными разряды заполняются нулями.
  • 3. Архитектура ЭВМ и вычислительных систем Таким образом, (t-1) двоичных разрядов занимаются самим числом и, возможно, дополнительными нулями и называются числовыми (в отличие от знакового разряда). Пример 1. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное число –101112. Результат показан на рисунке: номера раз- рядов 7 6 5 4 3 2 1 0 содержимое разрядов 1 0 0 1 0 1 1 1 Здесь разряд 7 – знаковый, имеет значение 1, поскольку исходное число отрицательно. В разрядах 0 – 4 размещено само исходное число, разряды 5 и 6 заполнены дополнительными нулями. Пример 2. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное число 101112. Результат показан на рисунке: номера раз- рядов 7 6 5 4 3 2 1 0 содержимое разрядов 0 0 0 1 0 1 1 1 Различие с предыдущим примером в значении седьмого разряда: поскольку исходное число положительно, там записан 0. Пример 3. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное число 111101112. Поскольку размещаемое число содержит разрядов больше, чем количество числовых разрядов разрядной сетки (оно равно 7), задача не имеет решения. Возникает ситуация переполнения (overflow), которая для целых чисел приводит к логической ошибке при выполнении операции. Существенным недостатком машин с фиксированной точкой является конечный диапазон представления величин. Может показаться, что это ограничивает вычислительные возможности ЭВМ. Но на самом деле короткая длина слова приводит только к снижению быстродействия машин: обработка больших чисел ведется последовательно-параллельным способом, сами числа представляются несколькими машинными словами, и для выполнения операций над ними необходимо составлять специальные программы. Поэтому если результат вычислений в естественной форме выходит за допустимые пределы, то в современных компьютерах производиться автоматический переход к представлению данных в экспоненциальной форме (но только если это оговорено программой). 3. Числа с плавающей точкой (запятой) Неудобство представления чисел в форме с фиксированной точкой проявляется при решении задач, в которых фигурируют как очень малые так и очень большие числа. В конкретных физических, математических и других задачах диапазон изменения величин может составлять, например от 10-30 до 1030 . Можно убедиться, что в представлении с фиксированной запятой понадобились бы двоичные слова длинной около 256 бит (32 байт), по 128 бит на целую и дробную части. Однако работа ЭВМ с операндами такой длины была бы крайне неэффективной.
  • 4. Архитектура ЭВМ и вычислительных систем Точность числа определяется не его длиной, а количеством верных значащих цифр. Для представления вещественных чисел используется логарифмическое представление, или форма с плавающей точкой, или экспоненциальная форма. Она была введена в обиход в 1937 году немецким ученым Конрадом Цузе. Формальная запись такой формы имеет вид: x = m× be , где x – вещественное число, m – мантисса числа, b – основание системы счисления, e – порядок (целое). Это означает, что мантисса должна быть дробью и иметь первую после запятой цифру, отличную от нуля. При обозначении основания b и порядка e используется, как правило, десятичная система счисления. При обозначении мантиссы m применяется, как правило, та система счисления, в которой представлено само число x. Данная форма позволяет перемещать десятичную запятую в вещественном числе вправо и влево, не меняя истинного значения числа. Мантисса нормализованного числа может изменяться в диапазоне: 1/q ≤ | m | < 1. Таким образом, в нормализованных числах цифра после точки должна быть значащей. Пример. Для представления чисел в машинном слове выделяют группы разрядов для изображения мантиссы, порядка, знака числа и знака порядка: а) представление чисел в формате полуслова б) представление чисел в формате слова Наиболее типично представление ЧПТ в формате слова (32 разряда). Пример. Число А=-3.510=-11.12=-0.111·1010
  • 5. Архитектура ЭВМ и вычислительных систем Пример 4. Выполнить представление в логарифмической форме десятичного числа 34,28, превратив его в правильную дробь. Для решения этой задачи надо десятичную запятую в числе сместить как минимум на 2 разряда влево, т.е. в таком случае уменьшить число на 2 порядка. Для сохранения первоначального значения числа введем в его запись порядок, равный +2. Имеем: 34,28 = 0,3428×10+2 . Здесь 0,3428 – мантисса числа, 10 – основание системы счисления, +2 (можно просто 2) – порядок. Пример 5. Выполнить представление в логарифмической форме двоичного числа 0,1011012, превратив его в целое число. Для решения задачи необходимо сдвинуть десятичную запятую на 6 разрядов вправо, т.е. увеличить число на 6 порядков. Для сохранения первоначального значения числа в его запись введем порядок, равный -6. Имеем: 0,1011012 = 1011012×2-6 . Для простоты обозначения числа в логарифмической форме используют специальный разделитель – букву Е (от слова exponential, англ., - экспоненциальный). Тогда результаты из предыдущих примеров приобретут другой вид: 0,3428 ×102 ⇒ 0,3428Е2, 1011012 × 2-6 ⇒ 1011012Е-6. В этой записи основание системы счисления b подразумевается равным основанию счисления для мантиссы m. Разновидностью экспоненциальной формы является ее нормализованный вид. Нормализованное вещественное число в экспоненциальной форме имеет мантиссу в виде правильной дроби, у которой старший дробный разряд отличен от 0. Например, 0,2345; 0,10112; 0,ADC2316. Разрядная сетка для вещественного числа состоит из двух частей: одна предназначена для размещения порядка, другая – для мантиссы. По одному разряду в обеих частях отводится для знака - порядка и мантиссы. Перед размещением в разрядной сетке вещественное число в обязательном порядке должно быть нормализовано. Размещение порядка выполняется аналогично размещению целого числа (см. п. 9.3.2.1). При размещении мантиссы используется только ее дробная часть: старший числовой разряд размещается в самом левом числовом разряде отведенной под нее разрядной сетки. Если число разрядов мантиссы меньше, чем число разрядов сетки, оставшиеся разряды заполняются нулями. Если разрядов сетки не хватает, не размещенные двоичные цифры отбрасываются. Пример 6. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в соответствующих частях разрядной сетки. Разместить в сетке двоичное число 0,111012Е-4. Результат показан на рисунке: номера раз- рядов 13 12 11 10 9 8 7 6 5 4 3 2 1 0 содержимое разрядов 1 0 1 0 0 0 1 1 1 0 1 0 0 0
  • 6. Архитектура ЭВМ и вычислительных систем Здесь разряды 9 – 13 отведены под порядок, 0 – 8 – под мантиссу. Знаковые разряды, соответственно, имеют номера 13 и 8: поскольку порядок отрицателен, разряд 13 содержит 1; мантисса положительна, поэтому разряд 8 равен 0. В разрядах 9 – 11 размещено значение порядка в двоичной системе счисления. Оставшийся «лишним» разряд 12 заполнен 0. В разрядах 7 – 3 помещено значение мантиссы. Оставшиеся незанятыми разряды 0 – 2 заполнены 0. Пример 7. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в соответствующих частях разрядной сетки. Разместить в сетке двоичное отрицательное число -0,11101101112Е4. Результат показан на рисунке: номера раз- рядов 13 12 11 10 9 8 7 6 5 4 3 2 1 0 содержимое разрядов 0 0 1 0 0 1 1 1 1 0 1 1 0 1 Здесь знаковые разряды имеют значения, противоположные предыдущему примеру. Поскольку число разрядов мантиссы превышает вместимость разрядной сетки, часть из них потеряна: так, вместо мантиссы 0,1110110111 размещена мантисса 0,11101101. Таким образом, при размещении вещественных чисел возможна потеря информации, что приводит к неточным вычислениям на компьютере. Напомним, что часть информации теряется при переводе чисел в двоичную систему счисления. Для повышения точности вычислений рекомендуется использовать типы данных с повышенной разрядностью, например, для Турбо-Паскаля тип long integer вместо integer. Число в форме с плавающей точкой занимает в памяти ЭВМ четыре или восемь байт (больше крайне редко). При записи числа с плавающей точкой выделяются разряды для хранения мантиссы, знака порядка, порядка и мантиссы. Оценим диапазон представления чисел по максимальному значению: Таким образом, числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел, но при этом точность изображения чисел определяется только разрядами мантиссы и уменьшается по сравнению с числами с фиксированной точкой. При записи числа в формате слова диапазон представимых чисел будет от -1·2127 до 1·2127 (2127 1038 ), а точность определяться мантиссой, состоящей из 23 разрядов. Точность может быть повышена путем увеличения количества разрядов мантиссы. Это реализуется путем представления чисел с так называемой двойной точностью (используется формат двойного слова):
  • 7. Архитектура ЭВМ и вычислительных систем Здесь разряды 9 – 13 отведены под порядок, 0 – 8 – под мантиссу. Знаковые разряды, соответственно, имеют номера 13 и 8: поскольку порядок отрицателен, разряд 13 содержит 1; мантисса положительна, поэтому разряд 8 равен 0. В разрядах 9 – 11 размещено значение порядка в двоичной системе счисления. Оставшийся «лишним» разряд 12 заполнен 0. В разрядах 7 – 3 помещено значение мантиссы. Оставшиеся незанятыми разряды 0 – 2 заполнены 0. Пример 7. Пусть разрядная сетка имеет 14 двоичных разрядов, из них 5 разрядов отводятся под порядок, 9 – под мантиссу. Пусть под знак отводятся самые левые разряды в соответствующих частях разрядной сетки. Разместить в сетке двоичное отрицательное число -0,11101101112Е4. Результат показан на рисунке: номера раз- рядов 13 12 11 10 9 8 7 6 5 4 3 2 1 0 содержимое разрядов 0 0 1 0 0 1 1 1 1 0 1 1 0 1 Здесь знаковые разряды имеют значения, противоположные предыдущему примеру. Поскольку число разрядов мантиссы превышает вместимость разрядной сетки, часть из них потеряна: так, вместо мантиссы 0,1110110111 размещена мантисса 0,11101101. Таким образом, при размещении вещественных чисел возможна потеря информации, что приводит к неточным вычислениям на компьютере. Напомним, что часть информации теряется при переводе чисел в двоичную систему счисления. Для повышения точности вычислений рекомендуется использовать типы данных с повышенной разрядностью, например, для Турбо-Паскаля тип long integer вместо integer. Число в форме с плавающей точкой занимает в памяти ЭВМ четыре или восемь байт (больше крайне редко). При записи числа с плавающей точкой выделяются разряды для хранения мантиссы, знака порядка, порядка и мантиссы. Оценим диапазон представления чисел по максимальному значению: Таким образом, числа с плавающей точкой позволяют увеличить диапазон обрабатываемых чисел, но при этом точность изображения чисел определяется только разрядами мантиссы и уменьшается по сравнению с числами с фиксированной точкой. При записи числа в формате слова диапазон представимых чисел будет от -1·2127 до 1·2127 (2127 1038 ), а точность определяться мантиссой, состоящей из 23 разрядов. Точность может быть повышена путем увеличения количества разрядов мантиссы. Это реализуется путем представления чисел с так называемой двойной точностью (используется формат двойного слова):