Главная стр 1
скачать
Вещественные числа.
Формат с плавающей точкой использует представление пк вещественного числа R в виде произведения мантиссы т на основание системы счисления п в некоторой целой степени р, которую называют порядком: R = т * пp.

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

25,324 = 2,5324•101 = 0,0025324•104 = 2532,4• 102 и т. п.

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

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

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

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


31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

±






























































































Маш. Порядок МА НТИ ССА

1-й байт 2-й байт 3-й байт 4-й байт


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

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



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

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



Мр = р + 64.

Полученная формула записана в десятичной системе. В дво­ичной системе формула имеет вид: Мр2 = р2 + 100 00002.

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


  1. перевести модуль данного числа в двоичную систему счис­ления с 24 значащими цифрами;

  2. нормализовать двоичное число;

  3. найти машинный порядок в двоичной системе счисления;

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

Пример 1. Записать внутреннее представление числа 250,1875 в форме с плавающей точкой.

Решение

  1. Переведем его в двоичную систему счисления с 24 значащими цифрами: 250,187510 = 11111010, 00110000000000002.

  2. Запишем в форме нормализованного двоичного числа с плавающей точкой: 0,111110100011000000000000 * 1021000. Здесь мантисса, основание системы счисления (210 = 102) и по­рядок (810 — 10002) записаны в двоичной системе.

  3. Вычислим машинный порядок в двоичной системе счис­ления:

Мр2 = 1000 + 100 0000 = 100 1000.

4.Запишем представление числа в 4-байтовой ячейке памя­ти с учетом знака числа:



31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

1

0

0

1

0

0

0

1

1

1

1

1

0

1

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

Шестнадцатеричная форма: 48FA300016.


Пример 2. По шестнадцатеричной форме внутреннего представления числа в форме с плавающей точкой С9811000 восстановить само число.

Решение.

  1. Перейдем к двоичному представлению числа в 4-байтовой ячейке, заменив каждую шестнадцатеричную цифру 4-мя дво­ичными цифрами:

1100 1001 1000 0001 0001 0000 0000 0000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

1

0

0

1

0

0

1

1

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0




  1. Заметим, что получен код отрицательного числа, посколь­ку в старшем разряде с номером 31 записана 1. Получим поря­док числа:

р = 10010012 - 10000002 = 10012 = 910.

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

- 0,100000010001000000000000 • 1021001.



  1. Число в двоичной системе счисления имеет вид: -100000010,0012.

  2. Переведем число в десятичную систему счисления:

-100000010,0012 = - (1 • 28 + 1 • 21 + 1 • 2-3) = -258,12510.

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



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

Для 4-байтового машинного слова таким числом будет:

0,111111111111111111111111 • 1021111111.

После перевода в десятичную систему счисления получим:



(12 -24) • 2631019.

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



N = 2*(U - L + 1) + 1.

Здесь t — количество двоичных раз­рядов мантиссы;



U — максимальное значение математического порядка;

L — минимальное значение порядка.

Для рассмотрен­ного нами варианта (t = 24, U = 63, L = -64) получается:



N = 2 146 683 548.

Пример 3. Получить десятичное представление числа по его дополнительному коду 100101112.


Решение:

1.) Инвертируем дополнительный код 100101112.

Получим 01101000 – обратный код

2) Прибавим к полученному числу 1. Получим число 01101001

3) Переведем полученную запись числа из двоичной в 10-ю форму. Получим число 105.

4) Перед полученным числом поставим знак «-»

Итак, ответ -105.

Задачи в тетрадях


Представить вещественное число 1) 0,005089; 2) 1234,0456 в нормализованной форме с плавающей точкой в десятичной системе счисления.
Для представления вещественного числа отводится 2 байта. Порядок занимает 7 битов. Сколько различных веществен­ных чисел точно представимы в памяти такого компьютера?
Для представления вещественного числа отводится 8 байт. Порядок занимает 11 битов. Сколько значащих цифр будет содержать двоичная мантисса?
Получить шестнадцатеричную форму внутреннего представ­ления отрицательного числа -123,125 в формате с плаваю­щей точкой в 4-байтовой ячейке.
Для представления вещественного числа используется 2-бай­товая ячейка памяти. В 1-м байте содержится знак числа и порядок, во 2-м байте — мантисса. Определить минимальное и максимальное по абсолютной величине числа, точно пред­ставимые в таком компьютере.
скачать


Смотрите также:
Вещественные числа. Формат с плавающей точкой использует представление пк вещественного числа R
124.56kb.
Тема Представление чисел в компьютере. Арифметические действия над целыми числами. Арифметические операции над числами с плавающей точкой
116.08kb.
Замена нахождения нескольких процентов числа нахождением дроби числа
40.84kb.
Простые числа Натуральные числа можно поделить на простые и составные числа
30.12kb.
Решение уравнений в целых числах
269.5kb.
Вопросы к экзамену по курсу «Вычислительные системы, сети и телекоммуникации»
50.91kb.
Вопросы к зачёту по курсу «Теоретические основы информатики»
29.27kb.
11 класс Алгебра
34.93kb.
Урок алгебры в 11 классе по теме «Комплексные числа»
38.41kb.
Решение. Преобразовав данное уравнение, получим
26.71kb.
Комплексные числа
1426kb.
Комплексные числа
1947.35kb.