Представление чисел в компьютере. Формат представления чисел с плавающей запятой Для представления отрицательных чисел используется

30.12.2020 Безопасность

Тема: Представление чисел в компьютере. Формат с фиксированной и плавающей запятой. Прямой, обратный и дополнительный код.

Повторение: Перевод целых чисел в двоичную систему счисления:

13 10 = а 2 Аналогично:

13 10 =1101 2

1345 10 =10101000001 2


Представление целых чисел в компьютере.

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

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

Ячейка – это часть памяти компьютера, вмещающая в себя информацию, доступную для обработки отдельной командой процессора. Минимальной адресуемой ячейкой памяти называется байт – 8 двоичных разрядов. Порядковый номер байта называется его адресом .

ячейка (8бит = 1байт)

машинным словом.

Ячейка памяти состоит из некоторого числа однородных элементов. Каждый элемент способен находиться в одном из двух состояний и служит для изображения одного из разрядов числа. Именно поэтому каждый элемент ячейки называют разрядом . Нумерацию разрядов в ячейке принято вести справа налево, самый правый разряд имеет порядковый номер 0. Это младший разряд ячейки памяти, старший разряд имеет порядковый номер (n-1) в n-разрядной ячейке памяти.

Содержимым любого разряда может быть либо 0, либо 1.

Содержимое ячейки памяти называется машинным словом. Ячейка памяти разделяется на разряды, в каждом из которых хранится разряд числа.

Например, самые современные персональные компьютеры являются 64-разрядным, то есть машинное слово и соответственно, ячейка памяти, состоит из 64 разрядов или битов .

Бит - минимальная единица измерения информации. Каждый бит может принимать значение 0 или 1. Битом также называют разряд ячейки памяти ЭВМ.

Стандартный размер наименьшей ячейки памяти равен восьми битам, то есть восьми двоичным разрядам. Совокупность из 8 битов является основной единицей представления данных – байт.

Байт (от английского byte – слог) – часть машинного слова, состоящая из 8 бит, обрабатываемая в ЭВМ как одно целое. На экране – ячейка памяти, состоящая из 8 разрядов – это байт. Младший разряд имеет порядковый номер 0, старший разряд – порядковый номер 7.

8 бит = 1 байт

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

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

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

Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 00000000 2 до 11111111 2 , а в двухбайтовом формате - от 00000000 00000000 2 до 11111111 11111111 2 .

Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак "плюс" кодируется нулем, а "минус" - единицей.

1101 2 10101000001 2

Разряд, отводимый под знак

(в этом случае +)

Недостающие до целого байта старшие разряды заполняются нулями.

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

Прямой код – это представление числа в двоичной системе счисления, при этом первый разряд отводится под знак числа. Если число положительное, то в первом разряде находится 0, если число отрицательное, в первом разряде указывается единица.

На самом деле прямой код используется почти исключительно для положительных чисел. Для записи прямого кода числа необходимо:

    Представить число в двоичной системе

    Дополнить запись числа нулями до предпоследнего старшего разряда 8-ми разрядной или 16-ти разрядной ячейки

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

Пример: число 3 10 в прямом коде однобайтного формата будет представлено в виде:


ч исло -3 10 в прямом коде однобайтного формата имеет вид:


Обратный код для положительного числа в двоичной системе счисления совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1) инвертировать , а в знаковый разряд заносится единица.

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

Дополнительный код используют в основном для представления в компьютере отрицательных чисел. Такой код делает арифметические операции более удобными для выполнения их вычислительной техникой.

В дополнительном коде, также как и прямом, первый разряд отводится для представления знака числа. Прямой и дополнительный код для положительных чисел совпадает. Поскольку прямой код используется почти исключительно для представления положительных чисел, а дополнительный – для отрицательных, то почти всегда, если в первом разряде 1, то мы имеем дело с дополнительным кодом. (Ноль обозначает положительное число, а единица – отрицательное).

Алгоритм получения дополнительного кода для отрицательного числа:

1. Найти прямой код числа (перевести число в двоичную систему счисления число без знака)

2. Получить обратный код. Поменять каждый ноль на единицу, а единицу на ноль (инвертировать число)

3. К обратному коду прибавить 1

Пример: Найдем дополнительный код десятичного числа – 47 в 16-ти разрядном формате.

    Найдем двоичную запись числа 47 (прямой код).

2. Инвертируем это число (обратный код). 3. Прибавим 1 к обратному коду и получим запись этого числа в оперативной памяти.

Важно!

Для положительных чисел прямой, обратный и дополнительный коды – это одно и тоже, т.е. прямой код. Положительные числа для представления в компьютере инвертировать не надо!

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

Так проще выполнять математические операции. Например, у нас два числа, представленных в прямом коде. Одно число положительное, другое – отрицательное и эти числа нужно сложить. Однако просто сложить их нельзя. Сначала компьютер должен определить, что это за числа. Выяснив, что одно число отрицательное, ему следует заменить операцию сложения операцией вычитания. Потом, машина должна определить, какое число больше по модулю, чтобы выяснить знак результата и определиться с тем, что из чего вычитать. В итоге, получается сложный алгоритм. Куда проще складывать числа, если отрицательные преобразованы в дополнительный код.

Практическая задание:

Задание 1. Записать прямой, обратный и дополнительный коды следующих десятичных чисел, используя 8 -разрядную ячейку:

64 10, - 120 10

Задание 2. Записать прямой, обратный и дополнительный коды следующие десятичные числа в 16-ти разрядной сетке

57 10 - 117 10 - 200 10

Вещественные числа в математических вычислениях не имеют ограничений на диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. Поэтому точность представления вещественных чисел, представимых в машине, является конечной, а диапазон ограничен.

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

Пример 4.4. Десятичное число 1.756 в форме записи чисел с порядком основания системы счисления можно представить так:

1.756 . 10 0 = 0.1756 . 10 1 = 0.01756 . 10 2 = ...

17.56 . 10 -1 = 175.6 . 10 -2 = 1756.0 . 10 -3 = ... .

Представлением числа с плавающей точкой называется представление числа N в системе счисления с основанием q в виде:

N = m* . q p ,

где m - множитель, содержащий все цифры числа (мантисса), p - целое число, называемое порядком.

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

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

Мантиссу и порядок q -ичного числа принято записывать в системе с основанием q , а само основание - в десятичной системе.

Пример 4.5. Приведем примеры нормализованного представления числа в десятичной системе:

2178.01 =0.217801 * 10 4

0.0045 =0.45 * 10 -2

Примеры в двоичной системе:

10110.01= 0.1011001 * 2 101 (порядок 101 2 =5 10)

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

Смещенный порядок n -разрядного нормализованного числа вычисляется следующим образом: если для задания порядка выделено k разрядов, то к истинному значению порядка, представленного в дополнительном коде, прибавляют смещение, равное (2 k -1 -1).

Таким образом, порядок, принимающий значения в диапазоне от -128 до +127, преобразуется в смещенный порядок в диапазоне от 0 до 255. Смещенный порядок хранится в виде беззнакового числа, что упрощает операции сравнения, сложения и вычитания порядков, а также упрощает операцию сравнения самих нормализованных чисел.

Количество разрядов, отводимых под порядок, влияет на диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате. Очевидно, что чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. В связи с тем, что у нормализованных вещественных чисел старший бит мантиссы всегда равен 1, этот старший бит не хранится в памяти.

Любое двоичное целое число, содержащее не более m разрядов, может быть без искажений преобразовано в вещественный формат.

Таблица 4.3. Стандартные форматы представления вещественных чисел

Пример 4.6. Представление нормализованных чисел в одинарном формате.

Проиллюстрируем, как будет храниться число 37,16 10 . При переводе в двоичное число не получается точного перевода 100101,(00101000111101011100) - дробная часть, заключенная в скобках, повторяется в периоде.

Переводим число в нормализованный вид: 0,100101(00101000111101011100) * 2 110

Представим вещественное число в 32-разрядном формате:

1. Знак числа «+», поэтому в знаковый разряд (31) заносим 0;

2. Для задания порядка выделено 8 разрядов, к истинному значению порядка, представленного в дополнительном коде, прибавляем смещение (2 7 -1)=127. Так как порядок положительный, то прямой код порядка совпадает с дополнительным, вычислим смещенный порядок: 00000110 + 01111111=10000101

Заносим полученный смещенный порядок.

3. Заносим мантиссу, при этом старший разряд мантиссы убираем (он всегда равен 1);

смещенный порядок

мантисса

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

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

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

Таблица 4

Максимальное значение целого неотрицательного числа, которое может храниться в регистре в формате с фиксированной запятой, можно определить из формулы: 2n – 1, где n – число разрядов числа. Максимальное число при этом будет равно 28 – 1 = 25510 = 111111112и минимальное 010 = 000000002. Таким образом, диапазон изменения целых неотрицательных чисел будет находиться в пределах от 0 до 25510.

В отличие от десятичной системы в двоичной системе счисления при компьютерном представлении двоичного числа отсутствуют символы, обозначающие знак числа: положительный (+) или отрицательный (-), поэтому для представления целых чисел со знаком в двоичной системе используются два формата представления числа: формат значения числа со знаком и формат дополнительного кода. В первом случае для хранения целых чисел со знаком отводится два регистра памяти (16 бит), причем старший разряд (крайний слева) используется под знак числа: если число положительное, то в знаковый разряд записывается 0, если число отрицательное, то – 1. Например, число 53610 = 00000010000110002 будет представлено в регистрах памяти в следующем виде:

Таблица 5

а отрицательное число -53610 = 10000010000110002 в виде:

Таблица 6

Максимальное положительное число или минимальное отрицательное в формате значения числа со знаком (с учетом представления одного разряда под знак) равно 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 1111111111111112 и диапазон чисел будет находиться в пределах от -3276710 до 32767.

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

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


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

2) получить обратный код числа (инвертировать все разряды числа, т. е. все единицы заменить на нули, а нули – на единицы);

3) к полученному обратному коду прибавить единицу к младшему разряду.

Например, для числа -53610 в таком формате модуль будет равен 00000010000110002, обратный код – 1111110111100111, а дополнительный код – 1111110111101000.

Необходимо помнить, что дополнительный код положительного числа – само число.

Для хранения целых чисел со знаком помимо 16-разрядного компьютерного представления, когда используются два регистра памяти (такой формат числа называется также форматом коротких целых чисел со знаком), применяются форматы средних и длинных целых чисел со знаком. Для представления чисел в формате средних чисел используется четыре регистра (4 х 8 = 32 бит), а для представления чисел в формате длинных чисел – восемь регистров (8 х 8 = 64 бита). Диапазоны значений для формата средних и длинных чисел будут соответственно равны: -(231 – 1) … + 231 – 1 и -(263-1) … + 263 – 1.

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

Вещественные числа (конечные и бесконечные десятичные дроби) обрабатываются и хранятся в компьютере в формате с плавающей запятой. При таком формате представления числа положение запятой в записи может изменяться. Любое вещественное число К в формате с плавающей запятой может быть представлено в виде:

где А – мантисса числа; h – основание системы счисления; p – порядок числа.

Выражение (2.7) для десятичной системы счисления примет вид:

для двоичной -

для восьмеричной -

для шестнадцатеричной -

Такая форма представления числа также называется нормальной . С изменением порядка запятая в числе смещается, т. е. как бы плавает влево или вправо. Поэтому нормальную форму представления чисел называют формой с плавающей запятой . Десятичное число 15,5, например, в формате с плавающей запятой может быть представлено в виде: 0,155 · 102; 1,55 · 101; 15,5 · 100; 155,0 · 10-1; 1550,0 · 10-2 и т. д. Эта форма записи десятичного числа 15,5 с плавающей запятой не используется при написании компьютерных программ и вводе их в компьютер (устройства ввода компьютеров воспринимают только линейную запись данных). Исходя из этого выражение (2.7) для представления десятичных чисел и ввода их в компьютер преобразовывают к виду

где Р – порядок числа,

т. е. вместо основания системы счисления 10 пишут букву Е, вместо запятой – точку, и знак умножения не ставится. Таким образом, число 15,5 в формате с плавающей запятой и линейной записи (компьютерное представление) будет записано в виде: 0.155Е2; 1.55Е1; 15.5Е0; 155.0Е-1; 1550.0Е-2 и т.д.

Независимо от системы счисления любое число в форме с плавающей запятой может быть представлено бесконечным множеством чисел. Такая форма записи называется ненормализованной . Для однозначного представления чисел с плавающей запятой используют нормализованную форму записи числа, при которой мантисса числа должна отвечать условию

где |А| - абсолютное значение мантиссы числа.

Условие (2.9) означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля, или, другими словами, если после запятой в мантиссе стоит не нуль, то число называется нормализованным. Так, число 15,5 в нормализованном виде (нормализованная мантисса) в форме с плавающей запятой будет выглядеть следующим образом: 0,155 · 102, т. е. нормализованная мантисса будет A = 0,155 и порядок Р = 2, или в компьютерном представлении числа 0.155Е2.

Числа в форме с плавающей запятой имеют фиксированный формат и занимают в памяти компьютера четыре (32 бит) или восемь байт (64 бит). Если число занимает в памяти компьютера 32 разряда, то это число обычной точности, если 64 разряда, то это число двойной точности. При записи числа с плавающей запятой выделяются разряды для хранения знака мантиссы, знака порядка, мантиссы и порядка. Количество разрядов, которое отводится под порядок числа, определяет диапазон изменения чисел, а количество разрядов, отведенных для хранения мантиссы, – точность, с которой задается число.

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

1) производится выравнивание порядков чисел, над которыми совершаются арифметические операции (порядок меньшего по модулю числа увеличивается до величины порядка большего по модулю числа, мантисса при этом уменьшается в такое же количество раз);

2) выполняются арифметические операции над мантиссами чисел;

3) производится нормализация полученного результата.

Практическая часть

| Планирование уроков на учебный год (ФГОС) | § 1.2. Представление чисел в компьютере

Уроки 6 - 7
§ 1.2. Представление чисел в компьютере

Ключевые слова:

Разряд
беззнаковое представление целых чисел
представление целых чисел со знаком
представление вещественных чисел

1.2.1. Представление целых чисел

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

Рис. 1.2. Ячейка памяти

Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.

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

Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы. Для n-разрядного представления оно будет равно 2 n -1. Минимальное число соответствует п нулям, хранящимся в n разрядах памяти, и равно нулю.

Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:

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

Пример 1 . Число 53 10 = 110101 2 в восьмиразрядном представлении имеет вид:

Это же число 53 в шестнадцати разрядах будет записано следующим образом:

При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды - под само число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное - 1. Такое представление чисел называется прямым кодом.

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

На сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/) размещён информационный модуль «Число и его компьютерный код». С помощью этого ресурса вы можете получить дополнительную информацию по изучаемой теме.

Для выполнения операций с отрицательными числами используется дополнительный код, позволяющий заменить операцию вычитания сложением. Узнать алгоритм образования дополнительного кода вы можете с помощью информационного модуля «Дополнительный код», размещённого на сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/).

1.2.2. Представление вещественных чисел

Любое вещественное число А может быть записано в экспоненциальной форме:

где:

m - мантисса числа;

p - порядок числа.

Например, число 472 ООО ООО может быть представлено так: 4,72 10 8 , 47,2 10 7 , 472,0 10 6 и т. д.

С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.

Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».

Из приведённого выше примера видно, что положение запятой в записи числа может изменяться.

Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472 ООО ООО будет представлено как 0,472 10 9 .

Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.

Пример:

Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.

Максимальное значение порядка числа для приведённого выше примера составляет 1111111 2 = 127 10 , и, следовательно, максимальное значение числа:

0,11111111111111111111111 10 1111111

Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.

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

САМОЕ ГЛАВНОЕ

Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.

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

При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды - под само число. Бели число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные - в дополнительном.

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

где:

m - мантисса числа;
q - основание системы счисления;
p - порядок числа.

Вопросы и задания

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.

2. Как в памяти компьютера представляются целые положительные и отрицательные числа?

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

4. Представьте число 63 10 в беззнаковом 8-разрядном формате.

5. Найдите десятичные эквиваленты чисел по их прямым кодам, записанным в 8-разрядном формате со знаком:

а) 01001100;
б) 00010101.

6. Какие из чисел 443 8 , 101010 2 , 256 10 можно сохранить в 8-разрядном формате?

7. Запишите следующие числа в естественной форме:

а) 0,3800456 10 2 ;
б) 0,245 10 -3 ;
в) 1,256900Е+5;
г) 9,569120Е-3.

8. Запишите число 2010,0102 10 пятью различными способами в экспоненциальной форме.

9. Запишите следующие числа в экспоненциальной форме с нормализованной мантиссой - правильной дробью, имеющей после запятой цифру, отличную от нуля:

а) 217,934 10 ;
б) 75321 10 ;
в) 0,00101 10 .

10. Изобразите схему, связывающую основные понятия, рассмотренные в данном параграфе.

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

При их написании вместо запятой принято писать точку . Так, например, число 5 - целое, а числа 5.1 и 5.0 - вещественные.

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

1.25*10 0 = 0.125*10 1 = 0.0125*10 2 = ... ,
или так:
12.5*10 -1 = 125.0*10 -2 = 1250.0*10 -3 = ... .

Если "плавающая" точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует:

Такое, наиболее выгодное для компьютера, представление вещественных чисел называется нормализованным .

Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание - в десятичной системе.

Примеры нормализованного представления:

Десятичная система Двоичная система

753.15 = 0.75315*10 3 ; -101.01 = -0.10101*2 11 (порядок 11 2 = 3 10)

0.000034 = -0.34*10 -4 ; -0.000011 = 0.11*2 -100 (порядок -100 2 = -410)

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

В качестве примера приведем характеристики форматов вещественных чисел, используемых IBM-совместимыми персональными компьютерами:

Форматы вещественных чисел Размер в байтах Примерный диапазон абсолютных значений Количество значащих десятичных цифр
Одинарный 4 10 -45 ... 10 38 7 или 8
Вещественный 6 10 -39 ... 10 38 11 или 12
Двойной 8 10 -324 ... 10 308 15 или 16
Расширенный 10 10 -4932 ... 10 4932 19 или 20

Из этой таблицы видно, что форма представления чисел с плавающей точкой позволяет записывать числа с высокой точностью и из весьма широкого диапазона .

При хранении числа с плавающей точкой отводятся разряды для мантиссы, порядка, знака числа и знака порядка:

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

1. Число 6.25 10 = 110.01 2 = 0,11001

  • 2 11:

2. Число -0.125 10 = -0.0012 = -0.1*2 -10 (отрицательный порядок записан в дополнительном коде):