Задания для самостоятельного выполнения. 1.Оцените информационный объем моноаудиофайла длительностью звучания 1 мин
1.Оцените информационный объем моноаудиофайла длительностью звучания 1 мин. если "глубина" кодирования и частота дискретизации звукового сигнала равны соответственно: а) 16 бит и 8 кГц; б) 16 бит и 24 кГц. 2.Определите качество звука (качество радиотрансляции, среднее качество, качество аудио-CD) если известно, что объем моноаудиофайла длительностью звучания в 10 сек. равен: а) 940 Кбайт; б) 157 Кбайт. 3.Рассчитайте время звучания моноаудиофайла, если при 16-битном кодировании и частоте дискретизации 32 кГц его объем равен: а) 700 Кбайт; б) 6300 Кбайт. 4.Определите длительность звукового файла, который уместится на гибкой дискете 3,5”. Учтите, что для хранения данных на такой дискете выделяется 2847 секторов объемом 512 байт. а) при низком качестве звука: моно, 8 бит, 8 кГц; б) при высоком качестве звука: стерео, 16 бит, 48 кГц. 5.Аналоговый звуковой сигнал был дискретизирован сначала с использованием 256 уровней интенсивности сигнала (качество звучания радиотрансляции), а затем с использованием 65536 уровней интенсивности сигнала (качество звучания аудио-CD). Во сколько раз различаются информационные объемы оцифрованного звука? Арифметические действия с числами в машинных кодах (13-ое занятие) Числовые данные обрабатываются в компьютере в двоичной системе счисления. Числа хранятся в оперативной памяти в виде последовательностей нулей и единиц, т.е. в двоичном коде. Представление чисел в формате с фиксированной запятой. Целые числа в компьютере хранятся в памяти в формате с фиксированной запятой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а запятая находится справа после младшего разряда, т.е. вне разрядной сетки. Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 бит). Например, число A2 = 101010102 будет хранится в ячейке памяти следующим образом: Максимальное значение целого неотрицательного числа достигается в случае, когда во всех ячейках хранятся единицы. Для n-разрядного представления оно будет равно: 2n - 1 Пример 1. Определить диапазон чисел, которые могут хранится в оперативной памяти в формате целое неотрицательное число. Минимальное число соответствует восьми нулям, хранящимся в восьми ячейках памяти, и равно нулю. Максимальное число соответствует восьми единицам, хранящимся в ячейках памяти и равно: A = 1*27 +1*26 +1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20 = 1*28 – 1 = 25510 Диапазон изменения целых неотрицательных чисел чисел от 0 до 255. Для хранения целых чисел со знаком отводится две ячейки памяти (16 бит), причем старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное записывается 1). Представление в компьютере положительных чисел с использованием формата «знак-величина» называется прямым кодом числа. Например, число 200210 = 111110100102 будет представлено в 16-ти разрядном представлении следующим образом: При представлении целых чисел в n-разрядном представлении со знаком максимальное положительное число (с учетом выделения одного разряда на знак) равно: A = 2n-1 - 1 Пример 2. Определить максимальное положительное число, которое может хранится в оперативной памяти в формате целое число со знаком. A10 = 215 – 1 = 3276710 Для представления отрицательных чисел используется дополнительный код. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие.
Дополнительный код представляет собой дополнение модуля отрицательного числа А до 0, поэтому в n-разрядной компьютерной арифметике: 2n - |A| + |A| = 0 Это равенство тождественно справедливо, т.к. в компьютерной n-разрядной арифметике 2n ≡ 0. Действительно, двоичная запись такого числа состоит из одной единицы и n нулей, а в n-разрядную ячейку может уместиться только n младших разрядов, т.е. n нулей. Пример 3. Записать дополнительный код отрицательного числа –2002 для 16-ти разрядного компьютерного представления. Проведем вычисления в соответствии с определением дополнительного кода:
Проведем проверку с использованием десятичной системы счисления. Дополнительный код 6353410 в сумме с модулем отрицательного числа 200210 равен 6553610, т.е. дополнительный код дополняет модуль отрицательного числа до 216 (до нуля 16-ти разрядной компьютерной арифметики). Для получения дополнительного кода отрицательного числа можно использовать довольно простой алгоритм: 1.Модуль числа записать прямым кодом в n двоичных разрядах; 2.Получить обратный код числа, для этого значения всех бит инвертировать (все единицы заменить на нули и все нули заменить на единицы); 3.К полученному обратному коду прибавить единицу. Пример 4. Записать дополнительный код отрицательного числа –2002 для 16-ти разрядного компьютерного представления с использованием алгоритма.
При n-разрядном представлении отрицательного числа А дополнительным кодом старший разряд выделяется для хранения знака числа (единицы). В остальных разрядах записывается положительное число: 2n-1 - |A|. Чтобы число было положительным должно выполняться условие: |A| ≤ 2n-1 Следовательно, максимальное значение модуля числа А в n-разрядном представлении равно: |A| = 2n-1 Тогда, минимальное отрицательное число равно: A = -2n-1 Пример 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. Недостатком представления чиселв формате с фиксированной запятой является конечный диапазон представления величин, недостаточный для решения математических, физических, экономических и других задач, в которых используются как очень малые, так и очень большие числа. Представление чисел в формате с плавающей запятой. Вещественные числа (конечные и бесконечные десятичные дроби) хранятся и обрабатываются в компьютере в формате с плавающей запятой. В этом случае положение запятой в записи числа может изменяться. Формат чисел с плавающей запятой базируется на экспоненциальной форме записи, в которой может быть представлено любой число. Так число А может быть представлено в виде:
где m – мантисса числа q – основание системы счисления, n – порядок числа. Для однозначности представления чисел c плавающей запятой используется нормализованная форма, при которой мантисса отвечает условию: 1/n ≤ |m| < 1. Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля. Пример 7. Преобразуйте десятичное число 888,888, записанное в естественной форме, в экспоненциальную форму с нормализованной мантиссой. 888,888 = 0,888888×103 Нормализованная мантисса m = 0,888888, порядок n = 3. Число в форме с плавающей запятой занимает в памяти компьютера четыре (число обычной точности) или восемь байт (число двойной точности). При записи числа с плавающей запятой выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы. Диапазон изменения чисел определяется количеством разрядов, отведенных для хранения порядка числа, а точность (количество значащих цифр) определяется количеством разрядов, отведенных для хранения мантиссы. Пример 8. Определить максимальное число и его точность для формата чисел обычной точности, если для хранения порядка и его знака отводится 8 разрядов, а для хранения мантиссы и ее знака 24 разряда.
Максимальное значение порядка числа составит 11111112 = 12710, и, следовательно, максимальное значение числа составит: 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,101×25 При умножении чисел в формате с плавающей запятой порядки складываются, а мантиссы перемножаются. При делении из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя. Пример 10. Произвести умножение чисел 0,1×23 и 0,1×25 в формате с плавающей запятой. После умножения будет получено число 0,01×28, которое после нормализации примет вид 0,1×27.
|