Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Задания для самостоятельного выполнения
1.Заполните таблицу, в каждой строке которой одно и то же целое число должно быть записано в различных системах счисления.
Перевод чисел из одной системы в другую (10-ое занятие)
Вопросы и задания практической работы Задание 1. Выполните арифметические действия в двоичной системе счисления, номера вариантов и задания к ним приведены в таблице
Задание 2. Переведите в десятичную систему счисления следующие числа из … системы счисления.
Задание 3. Переведите десятичные числа в заданные системы счисления.
Арифметические действия с числами в машинных кодах (13-ое занятие)
Представление чисел в формате с фиксированной запятой. Целые числа в компьютере хранятся в памяти в формате с фиксированной запятой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а запятая находится справа после младшего разряда, т.е. вне разрядной сетки. Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 бит). Например, число A2 = 101010102 будет хранится в ячейке памяти следующим образом:
2n - 1 Пример 1. Определить диапазон чисел, которые могут хранится в оперативной памяти в формате целое неотрицательное число. Минимальное число соответствует восьми нулям, хранящимся в восьми ячейках памяти, и равно нулю. Максимальное число соответствует восьми единицам, хранящимся в ячейках памяти и равно: A = 1E27 +1E26 +1E25 + 1E24 + 1E23 + 1E22 + 1E21 + 1E20 = 1E28 – 1 = 25510 Диапазон изменения целых неотрицательных чисел чисел от 0 до 255. Для хранения целых чисел со знаком отводится две ячейки памяти (16 бит), причем старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное записывается 1). Представление в компьютере положительных чисел с использованием формата «знак-величина» называется прямым кодом числа. Например, число 200210 = 111110100102 будет представлено в 16-ти разрядном представлении следующим образом:
A = 2n-1 - 1 Пример 2. Определить максимальное положительное число, которое может хранится в оперативной памяти в формате целое число со знаком. A10 = 215 – 1 = 3276710 Для представления отрицательных чисел используется дополнительный код. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие.
2n - |A| + |A| ≡ 0 Это равенство тождественно справедливо, т.к. в компьютерной n-разрядной арифметике 2n ≡ 0. Действительно, двоичная запись такого числа состоит из одной единицы и n нулей, а в n-разрядную ячейку может уместиться только n младших разрядов, т.е. n нулей.
Примеры:
Дополнительный код для десятичных чисел[править
Проведем вычисления в соответствии с определением дополнительного кода:
Для получения дополнительного кода отрицательного числа можно использовать довольно простой алгоритм: 1.Модуль числа записать прямым кодом в n двоичных разрядах; 2.Получить обратный код числа, для этого значения всех бит инвертировать (все единицы заменить на нули и все нули заменить на единицы); 3.К полученному обратному коду прибавить единицу.
Пример 5. Определить диапазон чисел, которые могут хранится в оперативной памяти в формате больших целых чисел со знаком (для хранения таких чисел отводится четыре ячейки памяти - 32 бита). Максимальное положительное целое число (с учетом выделения одного разряда на знак) равно: A = 231 – 1 = 2 147 483 64710 Минимальное отрицательное целое число равно: A = -231 = -2 147 483 64810 Достоинствами представления чисел в формате с фиксированной запятой являются простота и наглядность представления чисел, а также простота алгоритмов реализации арифметических операций (вычитание благодаря использованию дополнительного кода для представления отрицательных чисел сводится к сложению). Пример 6. Выполнить арифметическое действие 300010 - 500010 в 16-ти разрядном компьютерном представлении. Представим положительное число в прямом, а отрицательное число в дополнительном коде:
1) Инвертируем дополнительный код: 0000011111001111 2) Прибавим к полученному коду 1 и получим модуль отрицательного числа: + 0000000000000001 3) Переведем в десятичное число и припишем знак отрицательного числа: -2000. Недостатком представления чиселв формате с фиксированной запятой является конечный диапазон представления величин, недостаточный для решения математических, физических, экономических и других задач, в которых используются как очень малые, так и очень большие числа.
Формат чисел с плавающей запятой базируется на экспоненциальной форме записи, в которой может быть представлено любой число. Так число А может быть представлено в виде:
q – основание системы счисления, n – порядок числа. Для однозначности представления чисел c плавающей запятой используется нормализованная форма, при которой мантисса отвечает условию: 1/n ≤ |m| < 1. Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля. Пример 7. Преобразуйте десятичное число 888, 888, записанное в естественной форме, в экспоненциальную форму с нормализованной мантиссой. 888, 888 = 0, 888888× 103 Нормализованная мантисса m = 0, 888888, порядок n = 3. Число в форме с плавающей запятой занимает в памяти компьютера четыре (число обычной точности) или восемь байт (число двойной точности). При записи числа с плавающей запятой выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы. Диапазон изменения чисел определяется количеством разрядов, отведенных для хранения порядка числа, а точность (количество значащих цифр) определяется количеством разрядов, отведенных для хранения мантиссы. Пример 8. Определить максимальное число и его точность для формата чисел обычной точности, если для хранения порядка и его знака отводится 8 разрядов, а для хранения мантиссы и ее знака 24 разряда.
2127 = 1, 7014118346046923173168730371588× 1038 Точность вычислений определяется количеством разрядов, отведенных для хранения мантиссы чисел. Максимальное значение положительной мантиссы равно: 223 - 1 ≈ 223 = 2(10х2, 3) ≈ 10002, 3 = 10(3х2, 3) ≈ 107 Таким образом максимальное значение чисел обычной точности с учетом возможной точности вычислений составит 1, 701411× 1038 (количество значащих цифр десятичного числа в данном случае ограничено 7 разрядами). При сложении и вычитании чисел в формате с плавающей запятой сначала производится подготовительная операция выравнивания порядков. Порядок меньшего (по модулю) числа увеличивается до величины порядка большего (по модулю) числа. Для того чтобы величина числа не изменилась, мантисса уменьшается в такое же количество раз (сдвигается в ячейке памяти вправо на количество разрядов, равное разности порядков чисел). После выполнения операции выравнивания одинаковые разряды чисел оказываются расположенными в одних и тех же разрядах ячеек памяти. Теперь операции сложения и вычитания чисел сводятся к сложению или вычитанию мантисс. После выполнения арифметической операции для приведения полученного числа к стандартному формату с плавающей запятой производится нормализация, т.е. мантисса сдвигается влево или вправо так, чтобы ее первая значащая цифра попала в первый разряд после запятой. Пример 9. Произвести сложение чисел 0, 1× 23 и 0, 1× 25 в формате с плавающей запятой. Произведем выравнивание порядков и сложение мантисс: 0, 001× 25 +0, 100× 25 0, 101× 25 При умножении чисел в формате с плавающей запятой порядки складываются, а мантиссы перемножаются. При делении из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя. Пример 10. Произвести умножение чисел 0, 1× 23 и 0, 1× 25 в формате с плавающей запятой. После умножения будет получено число 0, 01× 28, которое после нормализации примет вид 0, 1× 27.
|