- •Арифметические основы вт (к.А. Нешумова эвм и системы, 1989)
- •1 Общие сведения о системах счисления
- •2 Позиционные системы счисления, применяемые в эвм
- •2.1 Двоичная система счисления
- •2.2 Двоично-десятичная система счисления
- •2.3 Восьмеричная система счисления
- •2.4 Шестнадцатеричная система счисления
- •3.6.1 Перевод целых чисел
- •3.6.2 Перевод правильных дробей
- •3.6.3 Перевод смешанных чисел
- •3.7 Перевод чисел из двоичной системы счисления в десятичную и обратно с помощью степенной таблицы
- •4 Арифметические действия над двоичными числами
- •4.1 Сложение двоичных чисел
- •4.2 Вычитание двоичных чисел
- •4.3 Умножение двоичных чисел
- •6 Операции вычитания чисел без знака в 8ой и 16ой системах счисления
- •6.1 Восьмеричная и шестнадцатеричная системы счисления
- •7 Представление данных в компьютере
- •7.1 Представление числовой информации
- •7.1.1 Представление чисел с фиксированной точкой
- •7.1.2 Представление чисел с плавающей запятой
- •7.1.3 Кодирование отрицательных чисел
- •7.2 Представление символьной информации
6 Операции вычитания чисел без знака в 8ой и 16ой системах счисления
6.1 Восьмеричная и шестнадцатеричная системы счисления
Пример 1.
2
Пример 3.
7 Представление данных в компьютере
По своему назначению компьютер – универсальное, программно управляемое автоматическое устройство для работы с информацией. Из свойств универсальности следует, что компьютер осуществляет все три основных типа информационных процессов – хранение, передачу и обработку информации. Современные компьютеры работают со всеми видами информации – числовой, символьной, графической, звуковой. Информация, хранимая в памяти компьютера и предназначенная для обработки, называется данными.
Ранее говорилось, что для представления всех видов данных в памяти компьютера используется двоичный алфавит. Однако интерпретация последовательностей двоичных кодов для каждого вида данных своя.
7.1 Представление числовой информации
Числовая информация является исторически первым видом данных, с которым стали работать компьютеры. Первые ЭВМ использовались исключительно для математических расчетов. ЭВМ выполняет расчеты в двоичной системе счисления. Рассмотрим вопрос о внутреннем (машинном) представлении чисел в памяти ЭВМ.
Структурными единицами памяти компьютера являются бит, байт и машинное слово. Причем понятия бита и байта универсальны и не зависят от модели компьютера, а размер машинного слова зависит от типа процессора ЭВМ. Машинное слово – количество символов двоичного алфавита, которое считывается из оперативной памяти компьютера или записывается в нее за одно обращение. Обычно машинное слово содержит целое число байтов. Если машинное слово для данного компьютера равно одному байту, то такую машину называют восьмиразрядной (8 бит); если машинное слово состоит из двух байтов, то это 16-ти разрядный компьютер; 4-байтовое слово у 32-разрядных ЭВМ.
Числа в памяти ЭВМ хранятся в двух форматах: в формате с фиксированной точкой (запятой) и в формате с плавающей точкой. Под точкой подразумевается знак разделения целой и дробной частей числа.
7.1.1 Представление чисел с фиксированной точкой
Число с фиксированной точкой - естественная форма представления числа, когда положение точки в разрядной сетке ЭВМ строго фиксируется (размер разрядной сетки соответствует длине машинного слова). Обычно она фиксируется перед старшим или после младшего разрядов. Если точка фиксируется перед старшим разрядом, то числа в ЭВМ представляются как правильные дроби; если после младшего - как целые числа.
Схематично разрядная сетка ЭВМ для представления чисел с фиксированной запятой представлена на рисунке 3.1.
Знак |
2-1 |
2-2 |
2-3 |
2-4 |
|
2-(n-3) |
2-(n-2) |
2-(n-1) |
2-n |
0 |
1 |
2 |
3 |
4 |
… |
n-3 |
n-2 |
n-1 |
n |
0 |
1 |
2 |
3 |
4 |
|
n-3 |
n-2 |
n-1 |
n |
|
|
|
|
а) |
|
|
|
|
|
Знак |
2n-1 |
2n-2 |
2n-3 |
2n-4 |
|
23 |
22 |
21 |
20 |
0 |
1 |
2 |
3 |
4 |
… |
n-3 |
n-2 |
n-1 |
n |
0 |
1 |
2 |
3 |
4 |
|
n-3 |
n-2 |
n-1 |
n |
|
|
|
|
б) |
|
|
|
|
|
Рисунок 7. 1 – Разрядная сетка ЭВМ для представления чисел с фиксированной точкой: а) перед старшим разрядом; б) после младшего разряда
В разрядной сетке ЭВМ для представления чисел с фиксированной точкой разряды нумеруются слева направо, начиная с нулевого, который называется знаковым разрядом. В этом разряде 0 соответствует плюсу, а 1 - минусу. На рисунке 3.1 указан вес каждого разряда.
Максимальное абсолютное значение (т.е без учета знака) дробного числа (рисунок а)) очевидно будет равно:
|Х|макс
=
= 1-2-n
где n - количество разрядов числа.
Минимальное, отличное от нуля машинное число будет равно:
|Х|мин
=
= 2-n.
Диапазон чисел всех возможных величин в данном случае определяется неравенством:
2-n≤|Х|≤(1-2-n).
Анализируя это неравенство, можно отметить следующее:
Диапазон представления чисел в машинах с фиксированной запятой сравнительно невелик.
Число, абсолютное значение которого меньше минимального машинного слова (2-n), будет записано в ЭВМ в виде нуля. Такое число называется машинным нулем, так как на самом деле оно не равно нулю, но для его изображения недостаточно разрядов в машинном слове.
Число, полученное в результате вычислений по абсолютному значению, не должно превышать максимального машинного числа (1-2-n). Если число выходит за верхний предел (1-2-n), то целая часть его не может быть расположена в машинном слове и поэтому теряется, что приводит к искажению результата. В этом случае говорят, что произошло переполнение разрядной сетки.
4. Относительная погрешность вычислений δ тем больше, чем меньше по абсолютной величине числа, участвующие в вычислениях, так как δ = Δ/ А · 100, где Δ - абсолютная погрешность; А - двоичное число. Если в ЭВМ имеется n разрядов числа, то абсолютная погрешность определяется точностью ее последнего знака, т. е. в данном случае А = 2-n.
Например, при n = 4 для числа A = 0,1111 относительная погрешность составит
δ мин = [2-4 / (15/16)] · 100% = 6,7%,
а для числа А=0,0001
δ макс = [2-4 / (1/16)] ·100% = 100%.
Если запятая фиксирована после младшего разряда (рисунок б)), разрядная сетка позволяет представлять отрицательные и положительные двоичные числа, модуль которых 1 ≤ |Х| ≤ (2n-1), где n - количество числовых разрядов в разрядной сетке ЭВМ. Все числа, модуль которых меньше 1 или больше (2n-1), не могут быть представлены в этой разрядной сетке.
Среди команд ЭВМ есть такие, когда операция с фиксированной запятой производится не только над числами, но и над адресами. В этом случае операнд интерпретируется как двоичное число без знака. Диапазон представления чисел без знака в два раза больше, чем со знаком в разрядной сетке ЭВМ.
