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

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 10.01.2016
Размер файла 28,9 K

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

Размещено на http://www.allbest.ru/

Представление числовых данных в памяти ЭВМ

Содержание

1. Способы представления чисел в памяти ЭВМ

2. Форма представления чисел с плавающей точкой

3. Форматы хранения чисел с плавающей точкой

Введение

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

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

1. Способы представления чисел в памяти ЭВМ

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

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

Для чисел в естественной форме положение точки жестко фиксируется:

— для целых чисел точка располагается справа от младшего разряда:

— для правильных дробей — перед старшим разрядом:

— для смешанных дробей — в определенном месте, отделяющем целую часть числа от дробной:

Наиболее часто такая форма используется для целых чисел и целых чисел без знака. Количество разрядов может быть либо 16 (формат H), либо 32 (формат F) (рис. 1)

Знак 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Рис. 1 Форматы чисел с фиксированной точкой

Во всех форматах знак числа помещается в старший разряд и кодируется как 0 — знак положительного числа, либо как 1 — знак отрицательного числа. Знак отделяется от самого числа воображаемой точкой.

Фиксированная точка позволяет задать число только в строго определенном диапазоне.

В формате H числа можно задавать от 1111 1111 1111 1111

до 0111 1111 1111 1111, т.е. от -32767 до 32767или от 1-2до 2 1.

В формате F числа могут находиться в интервале

от 1111 1111 1111 1111 1111 1111 1111 1111

до 0111 1111 1111 1111 1111 1111 1111 1111

т.е. от — 7FFFFFFF до 7FFFFFFF

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

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

2. Форма представления чисел с плавающей точкой

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

где m — мантисса числа, Е — основание системы счисления, P — порядок числа. Все эти величины — двоичные числа без знака.

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

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

А другие числа могут иметь много различных форм записи.

Например, 1536= 3*2= 6* 2= 768* 2.

Для однозначного представления чисел мантиссу нормализуют, т.е. накладывают ограничение 1/Е?m

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

При использовании нормальной формы для части компьютеров характерно смещение оси порядков в область положительных значений. В этом случае арифметические действия производятся над порядками, не имеющими знака. В нормальной форме под значение порядка отводится 7 разрядов, один из них знаковый. Таким образом, значение порядка может лежать в интервале от — 64 до 63. Сместив порядок на 2 = 64 = 40, получаем интервал возможных значений 0?P?2- 1= 127. Смещенный порядок на 40 называется характеристикой и вычисляется как Px = P+40.

Если характеристика равна 40, то порядок равен нулю; если характеристика меньше 40, то порядок отрицателен; если больше — то положителен.

число плавающий запятая компьютер

3. Форматы хранения чисел с плавающей точкой

Рассмотрим промышленные стандарты, используемые для представления чисел в компьютерах. Существует стандарт IEEE 754 для представления чисел с одинарной точностью и с двойной точностью . Нормальная форма может быть представлена коротким форматом Е (4 байта), длинным форматом D (8 байт) и повышенной точности (16 байт). Чаще всего числа хранятся в нескольких соседних ячейках памяти процессора. Форматы числа в формате с плавающей запятой одинарной точности и числа в формате с плавающей запятой удвоенной точности.

Форматы E и D описывают двоичные числа в двоично-кодированной шестнадцатеричной системе счисления. Порядок чисел изменяется от -64 до +63. Характеристика (Х) изменяется от 0 до 127, Х = Р + 64, то есть смещает порядок в область положительных чисел.

Формат D за счёт большей длины, используемой для увеличения разрядности мантиссы, обеспечивает представление чисел с большей точностью. Диапазон абсолютных значений чисел в форматах E и D составляет величины от 16 до 16 , что эквивалентно пределам от 10 до 10.

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

4. Примеры

1. Представим в нормальной сетке Е числа 32001,5 и -32001,5

Сначала представим числа в шестнадцатеричном коде:

32001,5= 7D01,8, -32001,5= -7D01,8

Затем найдем нормализованные мантиссы и характеристики:

m = 7D01,8 m = 0,7D018, при этом характеристика становится равной

Знак m Px Мантисса

0111 1101 0000 0001 1000 0000

Представление шестнадцатеричного слова 447D0180.

m = -7D01,8 m = -0,7D018,

при этом характеристика становится равной

Знак m Px Мантисса

0111 1101 0000 0001 1000 0000

Представление шестнадцатеричного слова C47D0180.

2. Представим в нормальной сетке Е числа 16289 и -16289

16289= 3FA1, -16289= -3FA1

m = 3FA1 m = 0,3FA1, при этом характеристика становится равной

Знак m Px Мантисса

0011 1111 1010 0001 0000 0000

Представление шестнадцатеричного слова 443FA100.

m = -3FA1 m = -3FA1, при этом характеристика становится равной

Знак m Px Мантисса

0011 1111 1010 0001 0000 0000

Представление шестнадцатеричного слова C43FA100.

3. Представим в нормальной сетке Е числа 0,01 и -0,01

0,01=0,028F5C3, -0,01= -0,028F5C3

m = 0,028F5C3 m = 0, 28F5C3, при этом характеристика становится равной Px = 40 — 1 = 3F

Знак m Px Мантисса

0010 1000 1111 0101 1100 0011

Представление шестнадцатеричного слова 3F28F5C3

m = -0,028F5C3 m = -0,28F5C3, при этом характеристика становится равной Px = 40 — 1 = 3F

Знак m Px Мантисса

0010 1000 1111 0101 1100 0011

Представление шестнадцатеричного слова BF28F5C3.

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

Для вычислений с такими величинами числа с фиксированной запятой неэффективны.

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

Например: 0,2*10; 0,16*10.

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

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

Список литературы

1. Гусева А.И. Учимся информатике: задачи и методы их решения. 2-е издание, испр. и дополн. — М.: «Диалог — МИФИ», 2014.

2. Информатика. Часть 1. Введение в информатику: Учебное пособие. М.: МГИУ, 2009. Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В.

3. Бауэр Ф. Л., Гооз Г. Информатика. Вводный курс: В 2-х ч. 4.1. Пер. с нем.— М.: Мир, 2010.

4. Информатика: Учеб. Пособие для 11-го с углуб. Изучением информатики общеобразоват. шк. с рус. яз. обучения/ А. И. Павловский, А. Е. Пупцев, Е. В. Нашкевич, Н. Н. Нарейко. — Мн.: Нар. асвета, 2001.

5. Сайт в сети Интернет. Консультационный центр MATLAB компании Softline http://matlab.exponenta.ru/

6. Сайт в сети Интернет http://coderov.net/

7. Сайт в сети Интернет http://rus12.on.ufanet.ru/

8. Сайт в сети Интернет http://ru.wikipedia.org

9. Сайт в сети Интернет. Дистанционная школа для абитуриентов по информатике http://uchebnik1.narod.ru/

10. Сайт в сети Интернет. Intel http://software.intel.com/ru-ru/articles/visualizing-floats/

Размещено на Allbest.ru

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

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

Форма с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления р в некоторой целой степени n, которую называют порядком:

R = m * (р^n) Например, число 25,324 можно записать в таком виде: 0.25324х102. Здесь m=0.25324 — мантисса, n=2 — порядок. Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть», т.е. сместиться десятичная точка в мантиссе. Отсюда название «плавающая точка».

Однако справедливы и следующие равенства:

25,324 = 2,5324*(10^1) = 0,0025324*(10^4) = 0,25324*(10^2) и т.п. Получается, что представление числа в форме с плавающей точкой неоднозначно? Чтобы не было неоднозначности, в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в нормализован-ном представлении должна удовлетворять условию:

± машинный порядок М А Н Т И С С А

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

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

Машинный порядок 0 1 2 3 . 64 65 . 125 126 127 Математический порядок -64 -63 -62 -61 . 0 1 . 61 62 63 Если обозначить машинный порядок Мр, а математический — р, то связь между ними ыразится такой формулой:

Мр = р + 64. Итак, машинный порядок смещен относительно математического на 64 единицы и имеет только положительные значения. При выполнении вычислений с плавающей точкой процессор это смещение учитывает.

Полученная формула записана в десятичной системе. Поскольку 6410=4016 (проверьте!), то в шестнадцатеричной системе формула примет вид:

Мр16 = р16 + 4016 И, наконец, в двоичной системе:

Мр2 = р2+100 00002 Теперь мы можем записать внутреннее представление числа 25,324 в форме с плавающей точкой. Переведем его в двоичную систему счисления с 24 значащими цифрами. 25,32410= 11001,01010010111100011012 Запишем в форме нормализованного двоичного числа с плавающей точкой: 0,110010101001011110001101*10101 Здесь мантисса, основание системы счисления (210=102) и порядок (510=1012)записаны в двоичной системе. Вычислим машинный порядок. Мр2 = 101 + 100 0000 = 100 0101 Запишем представление числа в ячейке памяти. 01000101 11001010 10010111 10001101 Это и есть искомый результат. Его можно переписать в более компактной шестнадцатеричной форме:

45 CA 97 8D Для того, чтобы получить внутреннее представление отрицательного числа -25,324,достаточно в полученном выше коде заменить в разряде знака числа 0 на 1.

11000101 11001010 10010111 10001101 А в шестнадцатеричной форме:

C5 CA 97 8D Никакого инвертирования, как для отрицательных чисел с фиксированной точкой, здесь не происходит.

Рассмотрим, наконец, вопрос о диапазоне чисел, представимых в форме с плавающей точкой. Очевидно, положительные и отрицательные числа расположены симметрично относительно нуля. Следовательно, максимальное и минимальное числа равны между собой по модулю: Rmax = |Rmin|. Наименьшее по абсолютной величине число равно нулю. Чему же равно Rmax? Это число с самой большой мантиссой и самым большим порядком:

0,111111111111111111111111*1021111111 Если перевести в десятичную систему, то получится

Rmax = (1 — 2-24) * 264 = 1019 Очевидно, что диапазон вещественных чисел значительно шире диапазона целых чисел. Если в результате вычислений получается число по модулю большее, чем Rmax, то происходит прерывание работы процессора. Такая ситуация называется переполнением при вычислениях с плавающей точкой. Наименьшее по модулю ненулевое значение равно:

(1/2) * 2-64=2-66. Любые значения, меньшие данного по абсолютной величине, воспринимаются процессором как нулевые.

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

N = 2t * ( U — L+ 1) + 1. Здесь t — количество двоичных разрядов мантиссы; U — максимальное значение математического порядка; L — минимальное значение порядка. Для рассмотренного нами варианта (t = 24, U = 63, L = -64) получается:

N = 2 146 683 548. Все же остальные числа, не попадающие в это множество, но находящиеся в диапазоне допустимых значений, представляются в памяти приближенно (мантисса обрезается на 24-м разряде). А поскольку числа имеют погрешности, то и результаты вычислений с этими числами также будут содержать погрешность. Из сказанного следует вывод: вычисления с вещественными числами в компьютере выполняются приближенно.

Вариант 1

1. Если число отрицательное, то в знаковый разряд помещается

2. Числом в нормальной форме с нормализованной мантиссой (правильной дробью, имеющей после запятой цифру, отличную от нуля) является

1) 7815
2) 2783,00029
3) 0,03428
4) 0,401 x 10 7

3. Беззнаковым 8-разрядным представлением числа 4510 является

1) 00101101
2) 101101
3) 10110100
4) 00000101

4. Какие из чисел можно сохранить в 8-разрядном беззнаковом формате?

5. При записи числа в форме A = ± m x q p , где q — это

1) мантисса
2) само вещественное число
3) порядок числа
4) основание системы счисления

6. Укажите десятичный эквивалент числа, прямой код которого 00010101 записан в 8-разрядном формате со знаком

1) 21
2) 34
3) -21
4) верного ответа в предложенных вариантах нет

7. Укажите число, записанное в естественной форме

1) 2010,0102
2) 1,784824E+5
3) 95400611 x 10 2
4) среди предложенных вариантов нет числа в естественной форме

Ответы на тест по информатике Представление чисел в компьютере для 8 класса
Вариант 1
1-4
2-1
3-4
4-14
5-3
6-2
7-3
Вариант 2
1-2
2-4
3-1
4-23
5-4
6-1
7-1

Системы счисления, используемые в компьютере

В компьютере используют двоичную систему счисления для Представления информации, потому что она имеет ряд преиму­ществ перед другими системами счисления:

• для ее реализации нужны технические устройства с двумя устойчивыми состояниями (а не с десятью, как в десятичной си­стеме счисления). Например: электромагнитное реле (замкнуто/ разомкнуто), которое широко использовалось в конструкциях пер­вых ЭВМ; участок поверхности магнитного носителя информа­ции (намагничен/размагничен); участок поверхности лазерного диска (отражает/не отражает); триггер, который может устойчиво находиться в одном из двух состояний;

• широко используется в оперативной памяти компьютера;

• представление информации посредством только двух состо­яний надежно и помехоустойчиво;

• возможно применение аппарата булевой алгебры для выпол­нения логических преобразований информации (см. гл. 3);

• двоичная арифметика намного проще десятичной.
Недостаток двоичной системы счисления — быстрый рост числа

разрядов, необходимых для записи чисел.

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

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

Числа в этих системах счисления читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в дво­ичной системе счисления (числа 8 и 16 — соответственно третья и четвертая степени числа 2).

Перевод восьмеричных и шестнадцатеричных чисел в двоич­ную систему счисления очень прост; достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) Для восьмеричной системы счисления или тетрадой (четверкой Цифр) для шестнадцатеричной системы счисления.

Примеры.

5 3 7 1 1 А 3 F

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

Примеры.

10101001, 101112 = 10 101 001, 101 1112 = 251,568; 2 5 1 5 6

10101001, 101112 = Ю10 1001, 1011, 10002=Л9, Я816.
А 9 В 8

Арифметические операции в позиционных системах счисления

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

Сложение.При сложении цифры суммируются по разрядам; если при этом возникает избыток, то он переносится влево в старший разряд.

Сложение в двоичной системе счисления

Примеры.

Сложение в десятичной системе счисления: 1510+ 610.

Сложение в двоичной системе счисления: 11112+ 110:

Рассмотрим еще несколько примеров сложения в двоичной системе счисления:

/ 1111 11111 1 111,1

100 1 110 1 11111 10 100 11,111

+ 10 Ю + 10 1 1 + _____ 1 + 1 100 1,1 10

10011 11000 100000 1101101,101

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

Примеры.

Вычитание в десятичной системе счисления: 201,2510 -59,7510.

Вычитание в двоичной системе счисления: 11001001,01, — 111011,112.

1 100 100 1,0 1 00111011,11 1000 110 1,10

Рассмотрим еще несколько примеров вычитания в десятичной системе счисления:

110 110 10 1 10 11100 1,1

Ю10 111111000 110 1,1

00 10 10 110 00 10 1 100,0

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

Умножение в двоичной системе счисления

Примеры.

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

100 1, 1 1 1 0 0,0 1 1 0 0 0 0 0, 1
* 10,1 х 10,0 1
100 11 110001
+ 1 0 0 11 + 11000 1 + 1 0 0 0 0 0 1
101 1 1, 1 1 1 0 0 1 0 0, 1 1 100 1001,00 1

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

Примеры.Разделить 5865 на 115.

Деление в десятичной системе счисления: 586510 : 115ш.

5865 115
5 1
1 15 1 15

Деление (5865 : 115) 10 в двоичной системе счисления: 10И01И010012:11100112.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector