Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Вещественные числа

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

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

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

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

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

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

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

 

                                                               
±                                                              

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

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-байтовой ячейке памя­ти с учетом знака числа:

                                                               
                                                               

 

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

 

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

Решение.

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

1100 1001 1000 0001 0001 0000 0000 0000

                                                               
                                                               

 

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

р = 10010012 - 10000002 = 10012 = 910.

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

- 0,100000010001000000000000 • 1021001.

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

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

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

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

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

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

0,111111111111111111111111 • 1021111111.

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

(1 – 2 -24) • 263 ≈ 1019.

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

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-м байте — мантисса. Определить минимальное и максимальное по абсолютной величине числа, точно пред­ставимые в таком компьютере.

 


<== предыдущая | следующая ==>
 | 

Date: 2015-10-18; view: 1429; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.009 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию