Всего на сайте:
236 тыс. 713 статей

Главная | Информатика

Естественная и экспоненциальная формы представления чисел  Просмотрен 4717

  1. Перевод произвольных чисел
  2. Теоретическое введение. Рассмотрим более подробно арифметические операции в двоичной системе с..
  3. ТеоретическОе введение. Представление информации может осуществляться с помощью языков, которы..
  4. Теоретическое введение. Информация, в том числе графическая и звуковая, может быть представлен..
  5. Теоретическое введение. Звук представляет собой звуковую волну с непрерывно меняющейся амплиту..
  6. Запись звукового файла с помощью стандартного приложения Звукозапись
  7. Редактирование звукового файла в звуковом редакторе Cool Edit 2000
  8. Теоретическое введение. Для долговременного хранения информации используются материальные носи..
  9. На гибком диске минимальным адресуемым элементом является сектор.
  10. На жестком диске минимальным адресуемым элементом является кластер, который содержит несколько секторов.
  11. Объем файла на гибком и жестком магнитных дисках
  12. Задания для самостоятельного выполнения

 

Естественная форма Экспоненциальная форма  
обычная компьютерная  
1,3 • 1016 1.3Е16
0,00000000000000013 1,3 • 10-16 1.3Е-16

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

А = mqn,

где т - мантисса числа,

q - основание системы счисления,

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

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

Представление чисел в компьютере в естественной форме. В естественной форме в компьютере хранятся в памяти и обрабатываются в процессоре целые числа. Для хранения целых положительных чисел отводится одна ячейка памяти (8 бит), для хранения целых чисел - две ячейки (16 бит), а для хранения больших целых чисел - четыре ячейки (32 бита). С учетом выделения одного разряда для знака числа для хранения больших целых чисел используется 31 двоичный разряд.

знак число
1 бит 31 бит

Таким образом, максимальное двоичное число равно:

А2 = 1 • 230 + 1 • 229 + ... + 1 • 2°.

Следовательно, абсолютная величина больших целых чисел не может превышать 231-1, а диапазон их изменения составляет от -2 147 483 647 до 2 147 483 647.

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

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

В случае чисел двойной точности для хранения порядка числа отводится 11 бит (из них 1 бит для знака порядка) и для хранения мантиссы числа 53 бита (из них 1 бит для знака мантиссы).

знак порядок знак мантисса
1 бит 10 бит 1 бит 52 бита

В этом случае максимальное значение порядка числа составит 11111111112 (102410). С учетом того, что и порядок числа, и мантисса могут принимать как положительные, так и отрицательные значения, максимальное значение числа составит 21024, а минимальное – 2-1024.

Если перевести эти двоичные числа в десятичные (например, с использованием стандартного приложения Windows Калькулятор), то в качестве максимального числа мы получим 1,79769313486232 • 10308, а в качестве минимального -0,556268464626800 • 10-308 (количество значащих цифр десятичного числа в компьютерном представлении ограничено 15 разрядами). Мы видим, что в экспоненциальном представлении чисел в компьютере их диапазон существенно больше, чем в естественном представлении.

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

Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 бит). Например, число А2 = 101010102 будет хранится в ячейке памяти следующим образом:

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

 

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

Минимальное число соответствует восьми нулям, хранящимся в восьми ячейках памяти, и равно нулю.

Максимальное число соответствует восьми единицам, хранящимся в ячейках памяти и равно:

А = 1 • 27 +1 • 26 +1 • 25 + 1 • 24 + 1 • 23 + 1 • 22 + 1 • 21 + 12° = 1 • 28 -1 =

= 25510.

Диапазон изменения целых неотрицательных чисел от 0 до 255.

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

Представление в компьютере положительных чисел с использованием формата «знак-величина» называется прямым кодом числа. Например, число 200210 = 111110100102 будет представлено в 16-разрядном представлении следующим образом:

При представлении целых чисел в n-разрядном представлении со знаком максимальное положительное число (с учетом выделения одного разряда на знак) равно:

А = 2п-1 - 1.

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

А10 = 215 – 1 = 3276710.

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

Дополнительный код отрицательного числа А,хранящегося в n ячейках, равен 2n – |А|.

Дополнительный код представляет собой дополнение модуля отрицательного числа Адо 0, поэтому в n-разрядной компьютерной арифметике:

2n – |А| + |А| = 0.

Это равенство тождественно справедливо, так как в компьютерной n-разрядной арифметике 2n = 0. Действительно, двоичная запись такого числа состоит из одной единицы и n нулей, а в n-разрядную ячейку может уместиться только n младших разрядов, то есть n нулей.

Пример 5.3 Записать дополнительный код отрицательного числа - 2002 для 16-разрядного компьютерного представления.

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

Проведем проверку с использованием десятичной системы счисления. Дополнительный код 6353410 в сумме с модулем отрицательного числа 200210 равен 6553610, то есть дополнительный код дополняет модуль отрицательного числа до 2 (до нуля 16-разрядной компьютерной арифметики).

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

1. Модуль числа записать прямым кодом в nдвоичных разрядах;

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

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

Пример 5.4 Записать дополнительный код отрицательного числа – 2002 для 16-разрядного компьютерного представления с использованием алгоритма.

 

При n-разрядном представлении отрицательного числа Адополнительным кодом старший разряд выделяется для хранения знака числа (единицы). В остальных разрядах записывается положительное число:

2n-1 - |А|.

Чтобы число было положительным, должно выполняться условие:

|А| = 2n-1.

Следовательно, максимальное значение модуля числа Ав n-разрядном представлении равно: |А| 2n-1.

Тогда минимальное отрицательное число равно: А = -2n-1.

 

Пример 5.5 Определить диапазон чисел, которые могут храниться в оперативной памяти в формате больших целых чисел со знаком (для хранения таких чисел отводится четыре ячейки памяти - 32 бита).

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

А = 231 - 1 = 2 147 483 64710.

Минимальное отрицательное целое число равно:

А = -231 = -2 147 483 64810.

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

 

Пример 5.6Выполнить арифметическое действие 300010 – 500010 в 16-разрядном компьютерном представлении.

Представим положительное число в прямом, а отрицательное число в дополнительном коде:

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

Переведем полученный дополнительный код в десятичное число:

1) инвертируем дополнительный код: 0000011111001111;

2) прибавим к полученному коду 1 и получим модуль отрицательного числа:

3) переведем в десятичное число и припишем знак отрицательного числа: -2000.

 

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

 

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

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

А = т qn, (5.1)

где т - мантисса числа;

q - основание системы счисления;

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

Для однозначности представления чисел с плавающей запятой используется нормализованная форма, при которой мантисса отвечает условию:

1/n | т | < 1.

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

 

Пример 5.7 Преобразуйте десятичное число 888,888, записанное в естественной форме, в экспоненциальную форму с нормализованной мантиссой.

888,888 = 0,888888 • 103

Нормализованная мантисса т = 0,888888, порядок n = 3.

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

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

 

Пример 5.8. Определить максимальное число и его точность для формата чисел обычной точности, если для хранения порядка и его знака отводится 8 разрядов, а для хранения мантиссы и ее знака 24 разряда.

 

 
знак и порядок знак и мантисса

 

11111112 = 12710, и, следовательно, максимальное значение числа составит:

2127 = 1,7014118346046923173168730371588 – 1038

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

223 - 1 223 = 2(10 • 2,3) 10002,3 = 10(3 • 2,3) 107.

Таким образом, максимальное значение чисел обычной точности с учетом возможной точности вычислений составит 1,701411 • 1038 (количество значащих цифр десятичного числа в данном случае ограничено 7 разрядами).

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

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

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

Пример 5.9Произвести сложение чисел 0,1 • 23 и 0,1 • 25 в формате с плавающей запятой.

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

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

 

Пример 5.10Произвести умножение чисел 0,1 • 23 и 0,1 • 25 в формате с плавающей запятой.

После умножения будет получено число 0,01 • 28, которое после нормализации примет вид 0,1 • 27.


Предыдущая статья:Теоретическое введение. Рассмотрим более подробно арифметические операции в двоичной системе с.. Следующая статья:ТеоретическОе введение. Представление информации может осуществляться с помощью языков, которы..
page speed (0.0981 sec, direct)