Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСИС.doc
Скачиваний:
170
Добавлен:
11.05.2015
Размер:
1.18 Mб
Скачать

11. Стандарт ieee 754.

Данный стандарт разработан ассоциацией IEEE (Institute of Electrical and Electronics Engineers) и используется для представления действительных чисел (чисел с плавающей точкой) в двоичном коде. Наиболее используемый стандарт для вычислений с плавающей точкой, используется многими микропроцессорами и логическими устройствами, а также программными средствами.

Полное название стандарта в ассоциации IEEE:

IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985)

IEEE стандарт для двоичной арифметики с плавающей точкой (ANSI/IEEE Std 754-1985)

Название стандарта в международной электротехнической комиссии IEC:

В 2008 года ассоциация IEEE выпустила стандарт IEEE 754-2008, который включил в себя стандарт IEEE 754-1985.

Стандарт содержит 23 страницы текста в 7 секциях и одном приложении:

1.Scope(Область применения)

1.1 Implementation Objectives (Описывает цели стандарта)

1.2 Inclusions (Описывает что включено в стандарт)

1.3 Exclusions (Описывает что не определяет стандарт)

2.Definitions (Вводимы определения)

3.Formats (Форматы чисел)

3.1 Sets of Values (Наборы переменных для представления формата)

3.2 Basic Formats (Базовые форматы)

3.3 Extended Formats (Расширенные форматы)

3.4 Combinations of Formats (Комбинирование форматов)

4.Rounding (Округления)

4.1 Round to Nearest (Округление к ближайшему)

4.2 Directed Roundings (Прямое округление)

4.3 Rounding Precision (Точность округления)

5.Operations (Операции)

5.1 Arithmetic (Арифметика)

5.2 Square Root (Квадратный корень)

5.3 Floating-Point Format Conversions (Конверсия форматов с плавающей точкой)

5.4 Conversion Between Floating-Point and Integer Formats (Конверсия между форматами с плавающими точками и форматами целых чисел.)

5.5 Round Floating-Point Number to Integer Value (округление чисел с плавающей точкой в целые числа)

5.6 Binary <-> Decimal Conversion (Конверсия бинарного в десятичное)

5.7 Comparison (Сравнение)

6.Infinity, NaNs, and Signed Zero (Бесконечность, не числа, и знаковый ноль)

6.1 Infinity Arithmetic (Арифметические действия с бесконечностями)

6.2 Operations with NaNs (Операции с не числами)

6.3 The Sign Bit (Операции с знаковым бит)

7.Exceptions (Исключения)

7.1 Invalid Operation (Недопустимые операции)

7.2 Division by Zero (Деление на ноль)

7.3 Overflow (Переполнение)

7.4 Underflow (Нехватка разряда)

7.5 Inexact (Неточность)

8.Traps (Обнаружение недопустимых операций)

8.1 Trap Handler (Исполнитель обнаружения недопустимых операций)

8.2 Precedence (Первоочередность)

A.Recommended Functions and Predicates (Рекомендованные функции и утверждения)

12. Формат bcd. Представление текстовой информации. Ascii.

Двоично-десятичный код, binary-coded decimal, BCD, 8421-BCD — форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода. Например, десятичное число 31110будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD.

Преимущества

  • Упрощён вывод чисел на индикацию — вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры.

  • Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в человекочитаемый десятичный формат и наоборот не теряется точность.

  • Упрощены умножение и деление на 10, а также округление.

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

Недостатки

  • Требует больше памяти.

  • Усложнены арифметические операции. Так как в 8421-BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16, существуют запрещённые комбинации битов: 1010(1010), 1011(1110), 1100(1210), 1101(1310), 1110(1410) и 1111(1510).

Поэтому, при сложении и вычитании чисел формата 8421-BCD действуют следующие правила:

  1. При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110 ( = 610= 1610- 1010: разница количеств комбинаций полубайта и используемых значений).

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

  3. При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110.

Пример операции сложения двоично-десятичных чисел:

Требуется: Найти число A = D + C, где D = 3927, C = 4856

Решение: Представим числа D и C в двоично-десятичной форме:

D = 392710= 0011 1001 0010 0111BCD

C = 485610= 0100 1000 0101 0110BCD

Суммируем числа D и С по правилам двоичной арифметики:

* **

0011 1001 0010 0111

+ 0100 1000 0101 0110

_____________________________

= 1000 0001 0111 1101 - Двоичная сумма

+ 0110 0110 - Коррекция

___________________

1000 0111 1000 0011

'*' — тетрада, из которой был перенос в старшую тетраду

'**' — тетрада с запрещённой комбинацией битов

В тетраду, помеченую символом *, добавляем шестёрку, т.к по правилам двоичной арифметики перенос унёс с coбой 16, а по правилам десятичной арифметики должен был унести 10. В тетраду, помеченую символом **, добавляем шестёрку и разрешаем распространение переноса, так как комбинация битов 1101 (что соответствует десятичному числу 13) является запрещённой.

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

В процессе вывода символа на экран происходит обратный процесс — преобразование кода символа в его изображение.

Существует соглашение, которое фиксируется в кодовой таблице ASCII. Первые 33 кода (0..32) обозначают операции перевода строки, ввод пробела и так далее. Коды 33..127 — интернациональные и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания. Коды 128..255 являются национальными, предназначены для кодировки национальных алфавитов, символов псевдографики и так далее.

ASCII (англ. American Standard Code for Information Interchange) — американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов.

ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованной второй половиной байта (например КОИ-8).

Структурные свойства таблицы

Цифры 0—9 представляются своими двоичными значениями (например, 5=01012), перед которыми стоит 00112. Таким образом, двоично-десятичные числа (BCD) превращаются в ASCII-строку с помощью простого добавления слева 00112к каждому двоично-десятичному полубайту.

Буквы A-Z верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на диапазон. Буквы представляются своими порядковыми номерами в алфавите, записанными в 2-ичной системе счисления, перед которыми стоит 1002(для букв верхнего регистра) или 1102(для букв нижнего регистра).

Представление ASCII в ЭВМ

На подавляющем большинстве современных компьютеров минимально адресуемая единица памяти — 8-битный байт, поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.

На компьютерах системы IBM/360, однако, в случае использования ASCII применялся другой метод: 6-й бит (если считать самый младший бит первым) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й.

На тех компьютерах, где минимально адресуемой единицей памяти было 36-битное слово, поначалу использовали 6-битные символы (1 слово = 6 символов). После перехода на ASCII на таких компьютерах в одном слове стали размещать либо 5 семибитных символов (1 бит оставался лишним), либо 4 девятибитных символа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]