top
logo

Сегодня читают

Вещественные числа. Вещественные числа в памяти компьютера.

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

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

Вернемся к первым ЭВМ. Основным видом их «деятель­ности» были вычисления, но объём оперативной памяти и быстродействие процессора были невелики и инженерам приходилось придумывать разнообразные способы хранения и обработки чисел, чтобы даже сложные расчёты выполня­лись за разумное время.

Вещественные числа в памяти компьютера.

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

Максимальным десятичным числом, которое можно было закодировать таким образом, было 255 в десятичной = 11111111 в двоичной = 2^8 - 1.

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

Максимальным десятичным числом, которое можно было закодировать таким образом, было 32767 в десятичной = 01111111 11111111 в двоичной =2^15. Целые без знака — это множество положитель­ных чисел в диапазоне [0, 2к-1], где к — это разряд­ность ячейки памяти, выделяемой под число. На­пример, если под целое число выделяется ячейка памяти размером в 16 разрядов (2 байта), то самое большое число будет таким: 0111111111111111. Например, десятичное число 255 после перевода в двоичную систему счисления и вписывания в 16-разрядную ячейку памяти будет иметь следующее внутреннее представление: 0000000011111111.

Отрицательные целые числа представляются в до­полнительном коде. Дополнительный код поло­жительного числа N — это такое его двоичное пред­ставление, которое при сложении с кодом числа N дает значение 2^к. Здесь к — количество разрядов в ячейке памяти. Например, дополнительный код числа 255 будет следующим: 1111111100000001.

Это и есть представление отрицательного числа -255. Сложим коды чисел 255 и —255:

Вычитание.

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

255

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

1

-255

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

Единичка в старшем разряде "выпала" из ячейки, поэтому сумма получилась равной нулю. Но так и должно быть: N + (— N) = 0. Процессор компьюте­ра операцию вычитания выполняет как сложение с дополнительным кодом вычитаемого числа. При этом переполнение ячейки (выход за предельные значе­ния) не вызывает прерывания выполнения программы. Это обстоятельство программист обязан знать и учитывать!

С вещественными числами дело обстояло немного слож­нее, поскольку надо было придумать способ, одинаковый для кодирования и больших, и маленьких чисел, то есть и миллион (1 000 000), и одну миллионную (0,000 001) хоте­лось бы кодировать посредством одного и того же алгорит­ма.

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

Такое представление чисел называется записью с плава­ющей точкой (запись 123,45 — запись с фиксированной точкой). В этой записи число имеет четыре характеристи­ки:

  • Знак числа.
  • Знак порядка.
  • Порядок (степень числа 10).
  • Мантисса (дробная часть числа).

При двоичном кодировании необходимо было все эти ха­рактеристики как-то отразить.

Максимальный порядок числа был равен 111111в двоичной = 63 в десятичной,следовательно, максимальным числом, которое можно было закодировать таким образом, было 10^63.

Формат представления вещественных чисел в ком­пьютере называется форматом с плавающей точ­кой. Вещественное число R представляется в виде произведения мантиссы т на основание системы счисления п в некоторой целой степени р, которую называют порядком: R = т х п^р.

Чтобы не было неоднозначности, договорились в ЭВМ использовать нормализованное представление числа в форме с плавающей точкой. Мантисса в нормализованном представлении должна удовлетво­рять условию: 0,1п< т < 1я. Иначе говоря, мантисса меньше единицы и первая значащая цифра — не ноль. В некоторых случаях условие нормализации принимают следующим: 1 с индексом и < т < 10 с индексом п.

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

Было решено отводить под вещественные числа 4 байта (32 бита). Три младших байта отводилось под запись ман­тиссы, а старший байт включал в себя:

  • Один (старший) бит — знак числа: 0 — положительное,
    1 — отрицательное.

  • Один бит — знак порядка: 0-положительный, 1-отрицательный.
  • Младшие 6 битов — порядок числа.

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

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

Машинный порядок Мантисса
1-й байт. 1-й, 2-й и 3-й байты.

В старшем бите 1-го байта хранится знак числа: 0 обозначает плюс, 1 — минус. Оставшиеся 7 бит пер­вого байта содержат машинный порядок. В следую­щих трех байтах хранятся значащие цифры мантис­сы (24 разряда).

В семи двоичных разрядах помещаются двоичные числа в диапазоне от 0000000 до 1111111. Значит, машинный порядок изменяется в диапазоне от 0 до 127 (в десятичной системе счисления). Всего 128 значений. Порядок, очевидно, может быть как положительным, так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка: от —64 до 63.

Машинный порядок смещен относительно ма­тематического и имеет только положительные зна­чения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответ­ствовал ноль. Связь между машинным порядком (Мр) и математическим (р) в рассматриваемом случае выражается формулой:
Мр = р + 64. Полученная формула записана в десятичной си­стеме. В двоичной системе формула имеет вид: МР = Р +10000000.

Для записи внутреннего представления веществен­ного числа необходимо:

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

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

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

Вещественные числа, разрядность мантиссы кото­рых превышает число разрядов, выделенных под мантиссу в ячейке памяти, представляются в компью­тере приближенно (с "обрезанной" мантиссой). Например, рациональное десятичное число 0,1 в компьютере будет представлено приближенно (ок­ругленно), поскольку в двоичной системе счисления его мантисса имеет бесконечное число цифр. След­ствием такой приближенности является погрешность машинных вычислений с вещественными числами.

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

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

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

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

в нормализованном представлении должна удовлетво­рять условию: 0,1п
Поделись информацией с друзьями в: vkontakte facebook twitter yandex mail livejournal myspace google google-buzz blogger
Оцените предоставленную информацию:
Вещественные числа. Вещественные числа в памяти компьютера Автор/Переводчик: ()
Опубликована:2010-03-03 19:39:30 l Просмотров:15831
Рейтинг: рейтинг

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


Возможно вам будет интересно:

IRQ IRQ
Опубликована:2011-05-06 21:08:32 l Просмотров: 24240
Рейтинг: рейтинг

Здесь мы разберем такие важные темы, как: обработка прерываний, векторы прерываний, программные прерывания, IRQ, в общем статья очень обьемная важная, для дисциплины Архитектура ЭВМ.

Подробнее

windows windows
Опубликована:2011-05-02 21:29:11 l Просмотров: 11280
Рейтинг: рейтинг

В этой статье мы поговорим на такие темы, как процессы и потоки, дискрипторы процесса, поговорим о синзронизации потоков и затронем всеми любимый диспетчер задач windows.

Подробнее

memory memory
Опубликована:2011-01-24 18:56:14 l Просмотров: 8699
Рейтинг: рейтинг

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

Подробнее

Комментарии пользователей:

Эту статью, еще никто не комментировал.

Зарегистрируйтесь , и вы сможите оставлять комментарии.

Рекомендуем прочесть


Сегодня читают

Получи 1500 Gold бесплатно в World of tanks при покупке антивируса
Wargaming - и "Лаборатория Касперского" обьявили о начале совместной акции. Теперь при покупке лицензионного программного обеспечения Kaspersky Internet Security, Kaspersky CRYSTAL, а также Kaspersky ONE.
Бесплатная trial версия Diablo III - уже доступна для скачивания
Уже как три месяца мы наслаждаемся долгожданным релизом Diablo III. Счастливые обладатели лицензии, так же получили в комплекте ваучер, который дает возможность играть в Starter Edition версию.
GTA San Andreas - модифицирована движком GTA 4 (скачать мод)
Поклонники - легендарной серии игр Grand Theft Auto решили разработать глобальный мод, GTA San Andreas будет поставлена на движок от GTA 4. Ссылку для скачивания мода вы найдете в конце данной статьи.
Дата выхода Windows 8 – начало августа
На уже ставшей традицией конференции которая проходит каждый год Worldwide Partner Conference, Вице-президент и финансовый директор корпорации Microsoft раскрыли дату выхода Windows 8.
Как скачать музыку из контакта на компьютер - программа VKSaver 3.1
В этой статье мы ответим на вопрос: как скачать музыку из контакта на компьютер совершенно бесплатно, а использовать для этого мы будем бесплатную программу - VKSaver 3.1

bottom
top
За было добавлено 62 новостей, написано 55 статьи и обзоров, пользователями оставлено
0 комментария. Сегодня 03 Декабря, 2016г 22:39, ваш IP 54.163.147.69, тип, версия браузера, а также тип операционной системы
CCBot/2.0 (http://commoncrawl.org/faq/), разрешение экрана px.
© 2010 Компьютеры и Комплектующие, Компьютерные Новости. Все права защищены. Правила копирования статей материалов сайта.
Счётчик тиц и PR
Яндекс.Метрика
bottom